Excel insiste sulla formattazione dell'HTML


9

Devo copiare circa 15.000 righe di dati da una query MS SQL a un foglio di calcolo di Excel 2007. Alcune celle contengono HTML come testo normale e la maggior parte di queste include tabelle HTML. Voglio che l'HTML rimanga in chiaro in Excel, tag e tutto; ma qualunque cosa io faccia, Excel vede i tag e rende la tabella, il che rovina completamente il foglio. La formattazione delle celle come testo non funziona. Incolla speciale> Il testo non funziona. La copia del testo della singola cella contenente HTML direttamente nella barra della formula FUNZIONA, ma non è davvero una soluzione fattibile per 15.000 righe.

So che è possibile mantenere l'HTML come testo semplice perché l'ho gestito una volta; Non ricordo come. Ho anche visto altre domande da parte di persone che hanno il problema opposto, quindi la funzionalità esiste sicuramente.

Sono incredibilmente frustrato e apprezzerei molto il tuo aiuto.

Modificare:

@variant: incollare in Blocco note e copiare il testo da lì produce gli stessi risultati della copia diretta dei risultati della query. Inoltre, i dati incollati in Blocco note diventano delimitati da tabulazioni e ci sono schede di rientro nell'HTML, quindi anche se si liberasse della formattazione, penso che rovinerebbe le colonne. Il testo contiene anche virgole, quindi il salvataggio come .csv non aiuta neanche. (L'ho provato.)

@Jay: ecco un esempio di HTML, con testo irrilevante sostituito. Mi dispiace per lo scorrimento orizzontale - poiché questa è una domanda di formattazione, ho pensato che sarebbe meglio incollare il testo così com'è. (So ​​che i <li>tag non sono chiusi; in questo caso non mi preoccupo di correggere HTML non valido.)

    <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>

È un modo un po 'arretrato di fare le cose, ma a volte è utile filtrare le cose tramite il blocco note (cioè incollare per eliminare i formati e copiarlo di nuovo da lì) prima di rilasciarli in Excel.
variante

Puoi esempi di testo che stai cercando di copiare / incollare in questa domanda? Ho provato questo: <html><head></head><body><b>bold</b></body> </html> e sono stato in grado di copiarlo / incollarlo da una cella all'altra.
Jay Elston,

@JayElston vede l'aggiornamento del mouse alla sua domanda.
studiohack

Wayyy è vecchio ma potrebbe essere rilevante per qualcuno: Excel può usare le query SQL come fonte per i contenuti delle celle. support.office.com/en-us/article/…
Zan Lynx,

Risposte:


3

Ciò che alla fine ha funzionato è stato riscrivere la query SQL per aggiungere una pipe (|) tra tutti i campi (poiché la pipe non era presente in nessuno dei testi), quindi salvare i risultati in un file di testo e importarli come dati delimitati da pipe, formattando ogni colonna come testo nella finestra di dialogo di importazione.


Mi incuriosisci, è una PITA solo per una copia / incolla! Anche oggi mi sono grattato la testa, quindi grazie!
franglais,

0

Controlla se hai smart tag HTML. Fare clic sul pulsante Microsoft Office > Opzioni di Excel > Strumenti di correzione > Opzioni correzione automatica > smart tag . Deseleziona Incorpora smart tag in questa cartella di lavoro . Salva il tuo file e riavvia Excel. Vedi se questo aiuta.


L'opzione "Incorpora smart tag" è già deselezionata.
Mouse,

0

Excel sta cercando di essere utile. Hai il tag table, quindi presuppone che tutti i valori <td> siano celle.

Prima di copiare le celle, selezionale, esegui un'operazione Formatta celle (dal menu destro del mouse) e, nella scheda Numero, seleziona il testo.

Non l'ho testato sulla tua stringa, ma l'ho provato su questa stringa:

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

Con la formattazione generale, incolla due celle con valori di 1 e 2 Con la formattazione impostata su testo, incolla l'intera stringa di testo in una singola cella.


Inizialmente avrei dovuto essere più chiaro: sto copiando i dati da Microsoft SQL Server Management Studio, non da Excel, quindi non ci sono opzioni di formattazione. Sulla base del tuo suggerimento, tuttavia, ho provato a incollare i dati in Excel, formattando le celle come testo (nessuna modifica) e copiando e incollando le celle appena formattate. Ancora niente. Modifica: @Jay
Mouse

@Mouse - Oh, avrei dovuto leggere più attentamente la tua domanda. Posso duplicare il problema di immissione del testo. Quando incollo la tabella semplice sopra da un file di testo, incolla il codice HTML non elaborato. Se seleziono la cella e faccio un taglio o una copia e poi incolla, incolla nuovamente il codice HTML non elaborato. Se ho selezionato il testo nella barra della formula e l'ho copiato, quindi incollato in una cella (anche una su cui ho modificato il formato della cella), lo incolla come due celle separate con solo i valori della cella.
Jay Elston,

0

Incolla prima il testo nel tuo editor di testo. Sostituisci tutto per "<" e modificalo con un carattere inutilizzato (come ^). Copia il testo e incollalo in Excel. Una volta in Excel, puoi cambiare tutto ^ indietro in <.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.