Мне нужно скопировать около 15 000 строк данных из запроса MS SQL в электронную таблицу Excel 2007. Некоторые ячейки содержат HTML в виде простого текста, и большинство из них включают таблицы HTML. Я хочу, чтобы HTML оставался простым текстом в Excel, тегами и всем остальным; но независимо от того, что я делаю, Excel видит теги и отображает таблицу, которая полностью испортила лист. Форматирование ячеек как текста не работает. Специальная вставка> Текст не работает. Копирование текста отдельной ячейки, содержащей HTML, непосредственно в панель формул работает, но на самом деле это невыполнимое решение для 15 000 строк.
Я знаю, что можно сохранить HTML как обычный текст, потому что мне это удалось однажды; Я просто не помню как. Я также видел другие вопросы от людей, имеющих противоположную проблему, поэтому функциональность определенно существует.
Я невероятно расстроен и буду очень признателен за вашу помощь.
Редактировать:
@variant: вставка в Блокнот и копирование текста оттуда дает те же результаты, что и непосредственное копирование результатов запроса. Кроме того, данные, вставленные в Блокнот, становятся разделителями табуляции, и в HTML есть отступы для вкладок, поэтому даже если бы он избавился от форматирования, я бы подумал, что это испортит столбцы. Текст также содержит запятые, поэтому сохранение в формате .csv также не помогает. (Я попробовал это.)
@Jay: Вот пример HTML с заменой неактуального текста. Извините за горизонтальную прокрутку - так как это вопрос форматирования, я подумал, что было бы лучше вставить текст как есть. (Я знаю, что <li>
теги не закрыты; в этом случае я не занимаюсь исправлением плохого 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>
Ответы:
В конечном итоге сработало переписывание SQL-запроса для добавления канала (|) между всеми полями (поскольку канал не отображался ни в одном тексте), затем сохранение результатов в текстовый файл и их импорт в виде данных с разделителями каналов, форматирование каждого столбца как текста в диалоге импорта.
источник
Проверьте, есть ли у вас смарт-теги HTML. Нажмите кнопку Microsoft Office > Параметры Excel > Проверка > Параметры автозамены > Смарт-теги . Снимите флажок Вставить смарт-теги в эту книгу . Сохраните файл и перезапустите Excel. Посмотрите, поможет ли это.
источник
Excel пытается быть полезным. У вас есть табличный тег, поэтому он предполагает, что все значения <td> являются ячейками.
Прежде чем копировать ячейки, выберите их, выполните операцию «Форматирование ячеек» (из правого меню мыши) и на вкладке «Число» выберите текст.
Я не проверял это на вашей строке, но я проверял на этой строке:
При обычном форматировании он вставляет две ячейки со значениями 1 и 2. Если для форматирования задано значение text, он вставляет всю текстовую строку в одну ячейку.
источник
Сначала вставьте текст в ваш текстовый редактор. Замените все на «<» и измените его на какой-нибудь неиспользуемый символ (например, ^). Скопируйте текст и вставьте его в Excel. Попав в Excel, вы можете изменить все ^ назад на <.
источник