8

Мне нужно скопировать около 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>

4 ответа4

3

В конечном итоге сработало переписывание SQL-запроса для добавления канала (|) между всеми полями (поскольку канал не отображался ни в одном тексте), затем сохранение результатов в текстовый файл и их импорт в виде данных с разделителями каналов, форматирование каждого столбца как текста в диалоге импорта.

0

Сначала вставьте текст в ваш текстовый редактор. Замените все на «<» и замените его каким-нибудь неиспользуемым символом (например, ^). Скопируйте текст и вставьте его в Excel. Попав в Excel, вы можете изменить все ^ обратно на <.

0

Excel пытается быть полезным. У вас есть табличный тег, поэтому он предполагает, что все значения <td> являются ячейками.

Прежде чем копировать ячейки, выберите их, выполните операцию «Форматирование ячеек» (из правого меню мыши) и на вкладке «Число» выберите текст.

Я не проверял это на вашей строке, но я проверял на этой строке:

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

При обычном форматировании он вставляет две ячейки со значениями 1 и 2. При форматировании, установленном на текст, он вставляет всю текстовую строку в одну ячейку.

0

Проверьте, есть ли у вас смарт-теги HTML. Нажмите кнопку Microsoft Office > Параметры Excel > Проверка > Параметры автозамены > Смарт-теги. Снимите флажок Вставить смарт-теги в эту книгу. Сохраните файл и перезапустите Excel. Посмотрите, поможет ли это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .