Quebrar parágrafos em tags de parágrafo no Microsoft Excel

2

Estou usando o recurso exportar como XML no Microsoft Excel, tenho uma definição de esquema XML assim:

<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="timeline">
      <xs:complexType>
         <xs:sequence>
             <xs:element name="event" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                   <xs:all>
                      <xs:element name="date" type="xs:string" minOccurs="1" />
                      <xs:element name="title" type="xs:string" minOccurs="1" />
                      <xs:element name="caption" type="xs:string" minOccurs="0" />
                      <xs:element name="image" type="xs:anyURI" minOccurs="0" />
                   </xs:all>
                </xs:complexType>
             </xs:element>
         </xs:sequence>
         <xs:attribute name="title" type="xs:string" use="required" />
         <xs:attribute name="id" type="xs:string" use="required" />
         <xs:attribute name="order" type="xs:int" />
         <xs:attribute name="color" type="xs:hexBinary" />
      </xs:complexType>
   </xs:element>
</xs:schema>

Minha tabela parece assim:


╔══════╦════════════════════╦════════════════════════╦═══════════╦════════════════╗
║ datetitlecaptionreferenceimage          ║
╚══════╩════════════════════╩════════════════════════╩═══════════╩════════════════╝
│ 1915 │ Alex's Birthday    │ We ate cake.           │ rcn_02    │ rcn/rcn_02.png │
│      │                    │                        │           │                │
│      │                    │ He didn't like cake.   │           │                │
├──────┼────────────────────┼────────────────────────┼───────────┼────────────────┤
│ 1920 │ Alex starts school │ He didn't like school. │ rcn_03    │ rcn/rcn_03.png │
└──────┴────────────────────┴────────────────────────┴───────────┴────────────────┘
O que eu quero fazer é converter células mutlilinas e agrupar cada seção em um elemento <p> . Então, ao invés da saída atual, que é:
<event>
   <date>1915</date>
   <title>Alex's Birthday</title>
   <caption>We ate cake.

He didn't like cake.</caption>
   <image>rcn/rcn_02.png</image>
</event>

Eu quero receber:

<event>
   <date>1915</date>
   <title>Alex's Birthday</title>
   <caption>
      <p>We ate cake.</p>
      <p>He didn't like cake.</p>
   </caption>
   <image>rcn/rcn_02.png</image>
</event>

Alguém sabe como isso é possível sem inserir manualmente as tags no texto (eu tenho muitas centenas de linhas)?

    
por George Reith 10.02.2014 / 12:42

1 resposta

0

Infelizmente, não parece que seja possível analisar e inserir tags usando o exportador XML. Seria uma tarefa simples adicionar tags de parágrafo em torno de cada célula de legenda, mas a inserção real de tags de parágrafo no meio do conteúdo da célula não parece ser algo que o recurso de exportação XML pode fazer sozinho. Existem, no entanto, outras soluções alternativas para o seu conjunto de dados, supondo que seja apenas a coluna "legenda" que requer as tags de parágrafo.

Utilizando um editor de texto capaz de executar operações de busca e substituição contra retornos de carro e recuos de guias (Notepad ++, TextWrangler, BBEdit, Microsoft Word), você copiaria a coluna inteira para um novo documento em branco. Coloque um retorno de carro em branco no início e no final do seu conjunto de dados. Utilizando os seguintes critérios de localização e substituição, consegui modificar o texto do seu exemplo para ajustá-lo:

Localizar: \n\n Substituir: </p><p>
Localizar: \n Substituir: </p>\n<p>

Você pegaria o texto recém-formatado e o colaria na sua planilha. A coluna deve então se transformar da seguinte forma: ╦════════════════════════╦ ║ caption ║ ╩════════════════════════╩ │ We ate cake. │ │ │ │ He didn't like cake. │ ┼────────────────────────┼ │ He didn't like school. │ ┴────────────────────────┴


Para ficar assim: ╦═══════════════════════════════════════════════════╦ ║ caption ║ ╩═══════════════════════════════════════════════════╩ │ <p>"We ate cake.</p><p>He didn't like cake."</p> │ ┼───────────────────────────────────────────────────┼ │ <p>He didn't like school.</p> │ ┴───────────────────────────────────────────────────┴

    
por 16.09.2014 / 21:13