Muszę skopiować około 15 000 wierszy danych z zapytania MS SQL do arkusza kalkulacyjnego Excel 2007. Niektóre komórki zawierają HTML jako zwykły tekst, a większość z nich zawiera tabele HTML. Chcę, aby HTML pozostawał zwykłym tekstem w Excelu, tagach i wszystkich innych; ale bez względu na to, co robię, program Excel widzi tagi i renderuje tabelę, co całkowicie psuje arkusz. Formatowanie komórek jako tekstu nie działa. Wklej specjalnie> Tekst nie działa. Kopiowanie tekstu pojedynczej komórki zawierającej HTML bezpośrednio na pasek formuły DZIAŁA, ale nie jest to realne rozwiązanie dla 15 000 wierszy.
Wiem, że można zachować HTML jako zwykły tekst, ponieważ udało mi się go raz; Po prostu nie pamiętam jak. Widziałem też inne pytania od osób mających przeciwny problem, więc funkcjonalność na pewno istnieje.
Jestem niesamowicie sfrustrowany i bardzo doceniam twoją pomoc.
Edytować:
@variant: Wklejenie do Notatnika i skopiowanie tekstu stamtąd daje takie same wyniki, jak bezpośrednie kopiowanie wyników zapytania. Ponadto dane wklejone do Notatnika zostają rozdzielone znakami tabulacji, a w kodzie HTML są wcięcia, więc nawet gdyby pozbył się formatowania, pomyślałbym, że to zepsułoby kolumny. Tekst zawiera także przecinki, więc zapisywanie jako .csv również nie pomaga. (Próbowałem.)
@Jay: Oto przykład kodu HTML z zastąpionym nieistotnym tekstem. Przepraszam za przewijanie w poziomie - ponieważ jest to pytanie dotyczące formatowania, pomyślałem, że najlepiej byłoby wkleić tekst bez zmian. (Wiem, że <li>
tagi nie są zamknięte; w tym przypadku nie jestem zainteresowany naprawieniem złego HTML).
<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>
Odpowiedzi:
Ostatecznie zadziałało przepisanie zapytania SQL w celu dodania potoku (|) między wszystkimi polami (ponieważ potok nie pojawił się w żadnym tekście), a następnie zapisanie wyników do pliku tekstowego i zaimportowanie go jako danych rozdzielanych potokami, formatowanie każdej kolumny jako tekstu w oknie dialogowym importu.
źródło
Sprawdź, czy masz inteligentne tagi HTML. Kliknij przycisk Microsoft Office > Opcje programu Excel > Proofing > Opcje Autokorekty > tagi inteligentne . Odznacz Osadź inteligentne tagi w tym skoroszycie . Zapisz plik i uruchom ponownie program Excel. Sprawdź, czy to pomoże.
źródło
Excel stara się być pomocny. Masz tag tabeli, więc zakłada, że wszystkie wartości <td> są komórkami.
Przed skopiowaniem komórek zaznacz je, wykonaj operację Formatuj komórki (z menu po prawej stronie myszy), a na karcie Liczba wybierz tekst.
Nie przetestowałem go na tobie, ale przetestowałem na tym:
Przy ogólnym formatowaniu wkleja dwie komórki o wartościach 1 i 2. Przy formatowaniu ustawionym na tekst wkleja cały ciąg tekstowy do pojedynczej komórki.
źródło
Wklej najpierw tekst do edytora tekstu. Wykonaj zamianę wszystkich na „<” i zmień ją na jakiś nieużywany znak (np. ^). Skopiuj tekst i wklej go do programu Excel. W programie Excel możesz zmienić wszystkie ^ z powrotem na <.
źródło