O Excel insiste na formatação de HTML

8

Eu preciso copiar cerca de 15.000 linhas de dados de uma consulta MS SQL para uma planilha do Excel 2007. Algumas das células contêm HTML como texto simples, e a maioria delas inclui tabelas HTML. Eu quero que o HTML fique texto simples no Excel, tags e tudo; mas não importa o que eu faça, o Excel vê as tags e processa a tabela, o que estraga completamente a planilha. Formatar as células como texto não funciona. Colar especial > O texto não funciona. Copiar o texto da célula individual que contém HTML diretamente na barra de fórmulas FAZ trabalho, mas isso não é realmente uma solução viável para 15.000 linhas.

Eu sei que é possível manter o HTML como texto sem formatação porque eu o gerenciei uma vez; Eu não lembro como. Eu também vi outras perguntas de pessoas com o problema oposto, então a funcionalidade definitivamente existe.

Estou incrivelmente frustrado e apreciaria profundamente sua ajuda.

Editar:

@variant: colar no bloco de notas e copiar o texto daí produz os mesmos resultados que copiar diretamente os resultados da consulta. Além disso, os dados colados no Bloco de notas tornam-se delimitados por tabulações, e há guias de recuo no HTML, por isso, mesmo se ele se livrasse da formatação, eu pensaria que isso atrapalharia as colunas. O texto também contém vírgulas, portanto, salvar como .csv também não ajuda. (Eu tentei isso.)

@Jay: Aqui está um exemplo do HTML, com texto irrelevante substituído. Desculpe pela rolagem horizontal - como essa é uma questão de formatação, achei que seria melhor colar o texto como está. (Eu sei que as tags <li> não foram fechadas; não estou preocupado em corrigir HTML ruim nesse caso.)

    <center>  <table border="1" width="400" style="border: 1 solid #808080" cellpadding="2" cellspacing="0" bordercolor="#C0C0C0">      <tr align="center">      <td bordercolor="#800000" width="100%" height="14" style="background-color:#800000;"><font color="white">Header text</font></td>      </tr>      <tr>        <td width="100%" height="14">Paragraph of text</td>      </tr>      <tr align="center">        <td bordercolor="#800000" width="100%" height="14" style="background-color:#800000;"><font color="white">More text</font></td>      </tr>      <tr>        <td width="100%" height="14">  <ul><li>Bullet point   <li>Bullet point   <li>Bullet point   <li>Bullet point   <li>Bullet point   <li>Bullet point   <li>Bullet point</ul></td>      </tr>      <tr align="center">        <td bordercolor="#800000" width="100%" height="14" style="background-color:#800000;"><font color="white">More text</font></td>      </tr>      <tr>        <td width="100%" height="14">Some final text</td>      </tr>    </table>  </center>
    
por Mouse 18.05.2011 / 17:21

4 respostas

3

O que eventualmente funcionou foi reescrever a consulta SQL para adicionar um pipe (|) entre todos os campos (já que o pipe não apareceu em nenhum texto), salvando os resultados em um arquivo de texto e importando isso como pipe. dados delimitados, formatando cada coluna como texto na caixa de diálogo de importação.

    
por 20.05.2011 / 19:02
0

Verifique se você tem tags inteligentes de HTML. Clique no botão Microsoft Office > Opções do Excel > Proofing > Opções de AutoCorreção > Tags inteligentes . Desmarque Inserir tags inteligentes nesta pasta de trabalho . Salve seu arquivo e reinicie o Excel. Veja se isso ajuda.

    
por 19.05.2011 / 08:30
0

O Excel está tentando ser útil. Você tem a tag da tabela, por isso assume todos os < td > valores são células.

Antes de copiar as células, selecione-as, realize a operação Formatar Células (no menu direito do mouse) e, na guia Número, selecione o texto.

Eu não testei na sua string, mas testei nesta string:

<table><tr><td>1</td><td>2</td></tr></table>

Com formatação geral, cola duas células com valores de 1 e 2 Com a formatação definida como texto, ela cola toda a cadeia de texto em uma única célula.

    
por 20.05.2011 / 07:28
0

Cole o texto primeiro no seu editor de texto. Substitua tudo por "<" e mude para algum personagem não utilizado (como ^). Copie o texto e cole-o no Excel. Uma vez no Excel, você pode alterar todo o ^ de volta para <.

    
por 15.10.2014 / 23:12