Microclimate.su

IT Новости
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как сохранить эксель в html

Сохранение и публикация файлов Excel в формате HTML

Размещенный на сайте Интернета или FTP-сервере файл XLS сумеют прочитать только владельцы Excel. Чтобы другие пользователи смогли прочитать его в браузере, необходимо сохранять данные из книги Excel на узле в Интернете или интрасети в формате HTML.

Microsoft Excel предоставляет большие возможности для помещения документов в Интернете. Вы вправе сохранить файл или опубликовать его и при желании включить поддержку интерактивности. Как при сохранении, так и при публикации можно преобразовать в HTML всю рабочую книгу или только ее часть. Вы также можете воспользоваться вариантом объединения всех файлов HTML-страницы в одном файле — веб-архиве, формате, впервые появившимся в Excel 2002. В следующих разделах будет рассмотрен ряд вопросов, которые следует учесть при выборе решения.

Нужна ли вам интерактивность?

При сохранении документа Excel без поддержки интерактивности пользователи в состоянии просматривать ваши данные и диаграммы, но не в силах их изменять или форматировать. Придание данным интерактивности снимает это ограничение, позволяя вносить изменения в данные, формулы и выполнять форматирование почти так же, как при открытии файла в собственном формате Excel. И это хорошо для безопасности информации. Другие люди не смогут вносить свои изменения в исходный файл HTML, но в то же время в браузере они имеют достаточно широкие возможности для работы с листами.

Excel предлагает три типа интерактивных веб-компонентов, проиллюстрированных на рис. 20.3, 20.4 и 20.5:

Рис. 20.3. Интерактивная электронная таблица позволяет изменять значения ячеек и форматирование

Рис. 20.4. Интерактивная диаграмма позволяет изменять числа и видеть результат изменений на диаграмме

Рис. 20.5. Интерактивная сводная таблица позволяет перемещать поля таблицы для просмотра различных срезов данных

Для работы с каким-либо из этих интерактивных компонентов должен быть установлен браузер Microsoft Internet Explorer 4.01 или более поздней версии, а также вебкомпоненты Microsoft Office. Соответственно, при публикации таблиц Excel в формате HTML для широких кругов заинтересованных лиц следует избегать интерактивности, так как обычные файлы HTML просматриваются в любом браузере.

Вместе с тем если вы публикуете данные в корпоративной интрасети или в любом другом окружении, где у каждого пользователя установлены отвечающие уровню современных требований версии Office и Internet Explorer, динамика, наоборот, чрезвычайно удобна. Так, вы можете создать модель, позволяющую сотрудникам вводить в электронную таблицу их собственные данные (такие, как процентная ставка, уровень инфляции или рост продаж) и использовать логику вашей таблицы для просмотра результатов. Интерактивная диаграмма позволит им изменять числа и видеть изменения на графике. А интерактивная сводная таблица несет в себе возможность динамической перестройки таблицы данных с целью получения различных «срезов» представленной вами информации.

Если ваш рабочий лист зависит от внешних данных и вы хотите дать пользователям право обновлять данные в браузере, необходимо сохранить книгу с поддержкой именно сводных интерактивных таблиц. Запросы к внешним данным нельзя выполнять в обычной интерактивной электронной таблице.

В своем решении учитывайте не только наличие у будущих пользователей требуемых компонентов Office, но и другие факторы. Не все, что позволено на листе рабочей книги Excel, переносимо в соответствующий динамический компонент. Например, интерактивная электронная таблица не поддерживает перенос текста по словам, поэтому ваш аккуратно отформатированный лист не будет настолько же адекватен после придания ему интерактивности. Подобным образом, некоторые виды диаграмм прекрасно выглядят в веб-диаграмме, в то время как другие теряют свои качества до неузнаваемости. Поэтому при обращении к интерактивности следует предварительно проверить результат в Internet Explorer, прежде чем отправлять его в Интернет для широкого обозрения.

Заметьте, что некоторые возможности электронных таблиц просто не воспроизводятся ни на статической веб-странице, ни на интерактивной. Если Excel встретит в рабочей книге элементы, не переносимые на уровень HTML, будет выведено сообщение, аналогичное приведенному ниже.

Как правило, перечисленные элементы в сообщении подобного рода обладают функциональностью, не имеющей смысла в контексте веб-браузера. В любом случае вы будете предупреждены и у вас будет возможность вернуться обратно.

Чтобы оценить, как ваш рабочий лист будет выглядеть на статической (неинтерактивной) веб-странице, выберите команду Предварительный просмотр веб-страницы (Web Page Preview) в меню Файл. Эта команда не создает файла на диске, она загружает активный лист в браузер как временный HTML-файл и удаляет файл при закрытии браузера. Предварительный просмотр сэкономит ваше время при сравнении динамического и статического подходов.

Сохранять или публиковать?

При публикации документа в формате HTML программа создает новую HTML-страницу (или обновляет существующую), но оставляет открытым исходный XLS-файл. Если установить флажок Автопереиздание при каждом сохранении книги (AutoRepublish), HTML-версия будет обновляться при каждом сохранении файла XLS. Если вы просто сохраните, а не опубликуете документ, Excel закроет файл XLS и оставит вас наедине с собой (не с браузером!) и файлом HTML. Другими словами, Excel выполнит обычную операцию Сохранить как и изменит формат файла, как если бы вы выбрали команду Сохранить как в меню Файл и затем преобразовали текущий документ в текстовый вид.

Вместе с тем при желании преобразовать в HTML всю рабочую книгу без интерактивности вы должны сохранить ее, а не публиковать. Чтобы опубликовать рабочую книгу целиком, нужно использовать интерактивную электронную таблицу.

Веб-страница или веб-страница в одном файле?

При сохранении всей рабочей книги в Excel 2000 результирующий файл .НТМ помещался в указанную вами папку, а в ней создавалась новая дочерняя папка, содержащая большое количество сопутствующих файлов. (По одному для каждого листа рабочей книги, один для отображения ярлычков листов, файл XML, описывающий структуру рабочей книги, различные графические включения и в некоторых случаях еще ряд файлов.) Размножение единиц хранения, вызванное таким подходом, было не только неудобным, но и потенциально представляло опасность. Если один или более из сопутствующих файлов портились или терялись^ браузер терялся и не отображал правильно веб-страницу.

Excel 2003, как и Excel 2002, позволяет сохранить рабочую книгу как вебстраницу, но в одном файле. (В Excel 2002 веб-страница в одном файле называлась «веб-архивом». Microsoft изменила название, но суть осталась прежней.) Результирующий файл (с расширением МНТ) может быть большим, но зато он всего один. Мы рекомендуем отдать предпочтение этому варианту сохранения, если только у вас нет веских причин придерживаться старого способа.

Сохранение всей рабочей книги без

Как уже говорилось, если вы хотите преобразовать всю рабочую книгу в HTML, причем без использования интерактивных электронных таблиц, вам требуется сохранять книгу, а не публиковать ее. Для этого выполните следующие шаги:

1. Выберите команду Сохранить как веб-страницу (Save As Web Page) в меню Файл.

2. В диалоговом окне Сохранение документа установите переключатель в положение Всю книгу (Entire Workbook) и снимите флажок Добавить интерактивность (Add Interactivity).

3. Укажите имя и расположение файла.

4. В списке Тип файла (Save As Type) выберите тип Веб-страница в одном файле (Single-File Web Page) или Веб-страница (Web Page) и щелкните на кнопке Сохранить (Save). На рис. 20.6 показана рабочая книга, открытая в браузере Internet Explorer после такого ее сохранения.

Как видно из рисунка, в результирующем HTML-файле даже есть ярлычки листа. Они имеют некоторые отличия от тех, к которым вы привыкли, но работают точно так же. Лист на рисунке пересекают горизонтальные линии сетки, но только потому, что в исходном листе эти линии помогали позиционироваться по ячейкам. Когда Excel преобразует книгу к виду HTML, сетка листа убирается (вместе с номерами строк и буквами столбцов), поэтому, если вы считаете, что линии сетки облегчат просмотр таблицы, добавьте их явнр перед преобразованием книги в формат HTML (команда Ячейки (Cells) меню Формат (Format)).

Читать еще:  Createfile failed on tap device openvpn

Рис. 20.6. Рабочая книга, сохраненная в формате HTML, во многом похожа на свой оригинал

У ячейки ВЗ, содержащей заголовок Гитары, в исходном документе есть примечание. Это примечание повторено в веб-странице и помечено небольшим красным флажком. При помещении указателя мыши над флажком в браузере Internet Explorer оно отображается во всплывающем окошке.

При просмотре в браузере книги Excel, сохраненной в формате HTML, имя файла, как правило, присутствует в строке заголовка окна. Если вы хотите, чтобы в строке заголовка браузера отображалось что-либо другое, щелкните на кнопке Изменить (Change Title) в диалоговом окне Сохранение документа перед щелчком на кнопке Сохранить. В открывшемся диалоговом окне измените текст заголовка.

Публикация без интерактивности

Для публикации данных Excel без интерактивности начните с выбора части рабочей книги, которую вы хотите опубликовать. Если это весь рабочий лист или лист диаграммы, откройте его. Если это диапазон — выделите его. Выберите команду Сохранить как вебстраницу в меню Файл. Excel откроет диалоговое окно Сохранение документа, которое будет содержать несколько дополнительных относящихся к HTML элементов управления. Щелкните на кнопке Опубликовать (Publish), чтобы появилось диалоговое

окно Публикация веб-страницы (Publish As Web Page), показанное на рис. 20.7.

Рис. 20.7. В диалоговом окне Публикация веб-страницы вы можете указать публикуемую часть рабочей книги и нужна ли вам интерактивность

Раскрывающийся список Выбрать (Choose) содержит все элементы листа, допустимые к публикации. Пункт Опубликованные ранее элементы (Previously Published Items) будет доступен, если лист уже хотя бы раз проходил этот процесс. Если перед выбором команды Сохранить как веб-страницу вы выделили диапазон, список Выбрать отобразит элемент Диапазон ячеек (Range Of Cells) и расположенное ниже поле будет содержать адрес выделенного диапазона. Этот диапазон вы можете изменить, указав вместо него другой.

Флажок Автопереиздание при каждом сохранении книги (AutoRepublish Every Time This Workbook Is Saved) по умолчанию снят. Если вы хотите, чтобы данные на веб-узле соответствовали изменениям, сделанным в файле XLS, установите данный флажок перед нажатием кнопки Опубликовать (Publish).

Флажок Открыть страницу в обозревателе (Open Published Web Page In Browser) no умолчанию установлен. Это удобно: при нажатии на кнопку Опубликовать вы сразу увидите, как новая веб-страница отображается в браузере.

Публикация с интерактивностью

Чтобы опубликовать данные Excel с интерактивностыо, выполните те же шаги, что и выше, но установите флажок Добавить интерактивность (Add Interactivity With). В списке, смежном с этим флажком, укажите, какой компонент нужно использовать. (В

зависимости от публикуемых элементов рабочей книги у вас может и не быть выбора.) Если вы публикуете обычную, не сводную, таблицу, Excel предоставит выбор сохранить ее либо с интерактивностью электронной таблицы, либо с интерактивностью сводной

таблицы. Второй вариант не принесет пользы (при просмотре пользователю нечего будет

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

Заметьте, что, когда вы публикуете данные с интерактивностью электронной таблицы, формулы с’внешними ссылками преобразуются в свои текущие значения. Другие формулы, в том числе ссылающиеся на ячейки или диапазоны по имени, остаются без изменений.

Источник: Эффективная работа: Microsoft Office Excel 2003 / М. Додж, К. Стинсон — СПб.: Питер, 2005. — 1088 с: ил.

Конвертирование из Excel в HTML: корректно, качественно, просто.

Архив номеров / 2003 / Выпуск №12 (13) / Конвертирование из Excel в HTML: корректно, качественно, просто.

АЛЕКСЕЙ МИЧУРИН

Конвертирование из Excel в HTML:

корректно, качественно, просто

Итак, наша задача состоит в том, чтобы корректно конвертировать документ из формата xls в формат HTML с учётом форматирования исходного документа и при этом обойтись «малой кровью»

Постановка задачи. Или в чем проблема?

Многие веб-мастера часто сталкиваются с задачей конвертирования файлов Microsoft Excel в другие форматы. Нередко это сопряжено с трудностями, так как формат xls, как все прекрасно знают, не документирован.

В некоторых случаях возможно сохранение данных Excel в документированных форматах и последующая их обработка. Но часто этот способ работает неудовлетворительно. Простые форматы, удобные для обработки, не способны сохранить всю информацию о форматировании документа, а реализация обработчика сложных форматов неоправданно трудоёмка.

За примером далеко ходить не надо. Множество фирм, которые имеют свои веб-страницы и периодически их обновляют, ведут свои дела с использованием Excel. Перед веб-мастером при каждом обновлении информации на сервере возникает задача конвертирования. Причём задача может осложняться следующими аспектами:

Во-первых, это изменение дизайна. Price-list, подготовленный в Excel, обычно рассчитан на распечатку на чёрно-белом принтере. Price-list на веб-сайте – нет. Хотя бы поэтому простое «Сохранить как веб-страницу» не подходит (я уж молчу о том, какого качества получается HTML-код при таком сохранении).

Во-вторых, при конвертировании необходимо учесть специфику Excel. Например, очень многие люди, редактирующие price-list, широко применяют команду «Формат/строка/скрыть». При этом высота строки становится нулевой, и строка как бы исчезает с экрана и на печати. Понятно, что и на веб-сайт такие строки попасть не должны. Однако они превосходно сохраняются в других форматах и ничем не отличаются от обычных, не скрытых, строк. Это приводит к тому, что доктрина «Сохранить как текст с разделителями и обработать» не даёт удовлетворительных результатов.

В-третьих, в price-list часто используется форматирование, сохранение которого критично. Например, наименования некоторых товаров могут быть зачёркнуты или выделены цветом в знак того, что эти товары были и обязательно будут, но сейчас их нет. Некоторые позиции могут быть выделены курсивом и так далее. Вся эта информация бесследно исчезает, если пересохранить price-list в простом формате, скажем, как текст с разделителями табуляции.

Итак, наша задача состоит в том, чтобы корректно конвертировать документ из формата xls в формат HTML с учётом форматирования исходного документа и при этом обойтись «малой кровью».

Я предлагаю разбить эту задачу на две. Первая – сохранение данных в простом формате, который тем не менее будет нести в себе всю необходимую нам информацию о разметке документа. Вторая – обработка этого формата и создание HTML-страницы.

Первую задачу (экспорт) я предлагаю решить средствами Excel. Тут у нас фактически нет выбора, формат xls может обработать только то единственное на свете приложение, которое его понимает. Это диалектика.

Вторую задачу я предлагаю решить средствами языка Perl. Почему? Потому, что этот язык ориентирован на работу со строками и на решение задач, подобных нашей (Perl – Practical Extraction and Report Language – то, что надо). Потому, что этот язык знает достаточно много программистов, связанных с веб-разработками (если вы не относитесь к их числу и планируете заниматься web, то искренне рекомендую обратить внимание на Perl). Потому, что этот язык бесплатен и доступен любому пользователю на любой платформе. И потому, что мой код на Perl можно будет потом легко модифицировать, заставив его, допустим, помещать каждый раздел price-list в отдельный файл, различным образом сортировать позиции прайса, отслеживать обновления и динамику цен, снабжать каждую позицию полями HTML-форм для on-line заказа в веб-магазине. В конце концов, мой скрипт легко превратить в CGI-приложение для администрирования веб-сервера.

Такое решение представляется мне максимально гибким, функциональным и компактным, потому что каждая часть задачи решается тем средством, которое наиболее приспособлено для её решения.

Давайте оттолкнёмся от конкретного примера. В качестве «подопытного кролика» предлагаю следующий прайс (см. рис. 1).

Рисунок 1. Пример прайса

Как видите, он сочетает в себе все неприятные элементы, упомянутые выше: и форматирование (фон, перечёркивания, жирный шрифт), и скрытые строки (если приглядеться, то можно заметить, что после девятой сразу идёт двенадцатая строка). Давайте им займёмся.

Экспорт данных из Excel

Приступим к решению первой задачи. Для экспорта данных из Excel я предлагаю несложный макрос на Visual Basic (номера строк приведены только для удобства комментирования):

1: Sub table2table()

3: ‘ макрос, сохраняющий выделенный фрагмент таблицы

4: ‘ в текстовом формате с отметками о форматировании

6: With ActiveWindow.RangeSelection

7: c1 = .Columns.Column

8: c2 = .Columns.Count — 1 + c1

10: r2 = .Rows.Count — 1 + r1

12: If (r1 — r2 = 0 And c1 — c2 = 0) Then

14: «что-то мало выделено (для сохранения) ,-)», _

15: vbCritical, «сообщение макроса»

17: fileSaveName = Application.GetSaveAsFilename( _

18: InitialFileName:=»file», _

19: fileFilter:=»Text Files (*.txt), *.txt», _

20: Title:=»сохранение страницы в нашем формате»)

21: If fileSaveName = False Then

23: «файл-то не выбран. никаких действий не предпринято.», _

24: vbCritical, «сообщение макроса»

26: sep = Chr(9) ‘ разделитель

27: subsep = Chr(8) ‘ под-разделитель

28: Open fileSaveName For Output As #1

29: For r = r1 To r2

30: l = CStr(Rows(r).RowHeight)

31: For c = c1 To c2

32: With Cells(r, c)

33: l = l + sep + CStr(.Text) + _

34: subsep + CStr(.MergeCells) + _

35: subsep + CStr(.Font.Bold) + _

36: subsep + CStr(.Font.Strikethrough)

Этот макрос сохраняет выделенную часть прайса в заданный файл. Макрос можно добавить к рабочей версии прайса и сделать для его вызова кнопку (вне области печати), а можно хранить в отдельном файле. Поместить его в документ очень просто: вызовите редактор Visual Basic (меню: «Сервис –> Макрос –> Редактор Visual Basic»; или ), создайте новый модуль (меню: «Вставить –> Модуль») и введите приведённый здесь текст (без номеров строк). Теперь можно нарисовать кнопку (инструмент на панели «Формы») и назначить ей макрос.

Давайте вкратце рассмотрим, как работает этот код.

Первая строка – объявление макроса. Как видите, я назвал его незамысловато table2table, вы можете наречь его более звучно.

В строках с 6 по 11 мы определяем границы выделенной части документа (ведь мы будем сохранять только выделенную часть). Теперь c1 и c2 – номера первого и последнего столбца, а r1 и r2 – первой и последней строки выделенной области.

Далее, в строках с 12 по 16 проверяем, а была ли выделена область или нашему макросу предстоит работать только с одной ячейкой. Этого, конечно, можно и не делать, но ведь, скорее всего, запускать этот макрос будете не вы, а менеджеры, редактирующие прайс, на их аккуратность не всегда можно рассчитывать. Итак, если ничего не было выделено, то наш макрос выдаст предупреждение (см. рис. 2).

Рисунок 2. Предупреждение макроса

В строках с 17 по 20 мы вызываем диалог Application.GetSaveAsFilename, чтобы пользователь мог выбрать имя файла (см. рис. 3).

Рисунок 3. Диалог сохранения пользователем файла

Опять же вы можете просто задать фиксированное имя, но мне кажется, что это неудобно даже в том случае, если вы сами эксплуатируете этот макрос.

В строках с 21 по 42 следует конструкция if-then-else с проверкой, было ли указано имя файла для сохранения или пользователь нажал кнопку «Отмена» диалога «Сохранить как. ».

Если пользователь отказался от сохранения, то выдаётся соответствующее сообщение (строки с 22 по 24), если имя файла указано, то начинается самое интересное – сохранение данных.

Но прежде чем обсудить процедуру сохранения (строки с 26 по 41), давайте скажем пару слов о том, в каком же именно формате мы намерены сохранять данные. Предлагаю самый простой для обработки формат: ASCII-текст. Каждая строка соответствует строке сохраняемой таблицы. Поля разделены одно символьными разделителями. Первое поле – высота строки (эта информация необходима, чтобы отфильтровать «скрытые» строки). Все последующие поля – содержимое ячеек, но каждое из этих полей содержит несколько подполей, разделённых своими разделителями. Подполя несут различную информацию о ячейке: содержание, параметры форматирования.

У нас разделители полей и подполей задаются ASCII-кодами в строках 26 и 27 соответственно. Вы можете выбрать более удобные разделители. Например, если вы уверены, что в ваших данных никогда не встречается символ «:», то можно взять его в качестве разделителя или подразделителя.

Далее (строка 28) открываем файл.

Организуем цикл по строкам (строка 29).

Для каждой строки вычисляем высоту. Заодно начинаем готовить строку для сохранения в файл в переменной l (строка 30 листинга).

В цикле (строка листинга 31) по ячейкам сохраняемой строки таблицы добавляем к строке l всю интересующую нас информацию о ячейках, снабжая её разделителями.

Какие свойства ячейки мы сохраняем?

Первым делом – текст ячейки. Обратите внимание, что мы используем именно свойство .Text, а не свойство .Value. Это не случайно. Свойство .Value возвращает истинное содержимое ячейки, свойство .Text возвращает тот текст, который отображается на мониторе и выводится на печать. Эти две величины могут не совпадать (и обычно не совпадают), потому что на экран значения выводятся согласно заданному формату ячейки (например, числа выводятся с заданным количеством знаков после запятой).

Свойство .MergeCells говорит о том, является ли ячейка частью группы объединённых ячеек.

Свойство .Font.Bold отражает жирность текста в ячейке.

Свойство .Font.Strikethrough говорит о том, был ли текст оформлен как зачёркнутый.

Для нашего примера нам, пожалуй, больше ничего не потребуется. Однако не могу не отметить ряд полезных свойств, которые могут вам пригодиться. Имена этих свойств достаточно красноречивы, и я не буду их комментировать, ограничусь перечислением:

  • .Font.Name
  • .Font.FontStyle
  • .Font.Size
  • .Font.Underline
  • .Font.ColorIndex
  • .Font.Italic
  • .HorizontalAlignment
  • .VerticalAlignment
  • .ColorIndex
  • .Pattern

Обратите внимание, все свойства явно приводятся к строчному типу функцией CStr (строки с 33 по 36). Это весьма полезная процедура, навсегда избавляющая вас от головной боли о преобразованиях типов.

Здесь следует сделать важную оговорку. Дело в том, что функция CStr не в состоянии обработать неопределённые значения. Если таковые будут встречаться в ваших документах, то вместо CStr вы можете использовать собственную функцию преобразования величин в текстовый формат. Например, safeCStr:

1: Function safeCStr(p As Variant) As String
2: If IsNull(p) Then safeCStr = «» Else safeCStr = CStr(p)
3: End Function

Должен отметить, что сам я никогда не сталкивался с такими ситуациями, но научно-технический консультант журнала без труда нашёл в Интернете прайс-лист, в некоторых ячейках которого свойство .Font.Bold было не определено. Я полагаю, что такие документы могут возникать в результате экспорта данных из других приложений. Например, продукты «1C» допускают экспорт данных в Excel. Одним словом, такая ситуация возможна. – Примечание автора.

Вот почти и всё. Осталось сохранить готовую строку l в файл (строка 39 листинга) и закрыть файл по завершении всего цикла по строкам (строка 41).

Итак, вы выделяете сохраняемую область (в нашем примере это первые три столбца таблицы, строки с 4 по 21), нажимаете созданную вами кнопку, выбираете имя файла, и файл сохранён. Что с ним делать дальше?

Создание HTML-страницы по экспортированным данным

С этим файлом можно сделать всё что угодно, потому что его формат нам полностью известен (приятно это осознавать). Я приведу пример генерации HTML-страницы.

Как я и говорил, предлагаю скрипт на Perl:

5: # my ($TRUE, $FALSE)=(‘Истина’, ‘Ложь’);

Как конвертировать HTML таблицу в Excel?

Работать с таблицами удобнее в Excel, поэтому всю табличную информацию переводят в формат xls или xlsx. Это касается и веб-таблиц, которые сохраняются в html-формате. Рассмотрим 3 способа, как переформатировать таблицу html в формат Экселя.

Способ №1. Стандартные средства Excel

Открываем программу и переходим в меню «Файл». Во вкладке «Открыть» кликаем на «Этот компьютер», затем «Документы» и находим в Проводнике нашу таблицу в формате html. После чего кликаем по ней два раза левой кнопкой мышки, чтобы она открылась в программе.

Недостаток такого метода в том, что таблицу придется серьезно редактировать. По сути, мы переводим в Excel только информацию. Чем лучше структура у html-таблицы, тем меньше придется редактировать ее в программе.

Чтобы сохранить таблицу в xls или xlsx формате, переходим снова в меню «Файл». Там заходим во вкладку «Сохранить как…», затем «Этот компьютер». Выбираем папку для сохранения и формат (тип файла).

Способ №2. Конвертация html в Excel онлайн

Многие пользователи предлагают десктопные программы для конвертации. Но мы считаем, что это пустая трата времени на загрузку и установку. Кроме того, многие из этих программ платные. Лучше воспользоваться бесплатными онлайн сервисами.

Convertio

Переходим по ссылке и кликаем сразу на иконку «С компьютера». Или же файл можно загрузить с другого места – Google Drive, Dropbox или по ссылке.

Далее выбираем сам файл, после чего он загрузится на сервер. И теперь просто кликаем на иконку «Преобразовать».

Длительность конвертации – в зависимости от размера файла. После окончания процесса вы сможете скачать полученный xls файл на компьютер.

Этот способ конвертации по сравнению со стандартным нам понравился больше. Сервис преобразовал в таблицу только текстовую информацию – без лишних графических элементов. Но все равно качество оставляет желать лучшего. Наверное, у нас просто изначально плохая, неотредактированная в html таблица.

Coolutils

Еще один онлайн-сервис, который предлагает конвертировать html таблицу. Здесь все просто:

  • выбираем файл (Browse);
  • выставляем формат (Excel);
  • и далее кликаем «Скачать конвертированный файл».

Признаться, в Google Chrome у нас не получилось конвертировать файл. После последнего действия нас выбросило на пустую белую страницу.

Мы попробовали сделать конвертацию в Mozilla Firefox. И здесь столкнулись с той же проблемой, но теперь более информативной. Сервис написал об ошибке и предложил скачать компьютерную версию программы – Total HTML Converter.

Способ №3. Утилита для компьютера

Признаемся, мы не хотели писать о сторонних программах. Но не ожидали, что этот онлайн-сервис предложит такой вариант. В целом, можно попробовать – утилита весит чуть больше 50 Мб и устанавливается секунд 20.

Открываем программу после установки. Справа находим папку с файлом, который нужно конвертировать. По средине выпадает список файлов – выбираем нужный нам. Заметьте, что слева начинает отображаться содержимое файла.

После того как мы поставили маркер напротив html-файла, кликаем на верхней панели по зелено иконке XLS.

Выберете папку, куда нужно сохранить файл – и нажимайте Start.

После конвертации автоматически откроется окно Проводника с папкой, куда мы сохранили итоговый xlsx-файл. Заметьте, что программа автоматически форматирует таблицы в xlsx файлы, хотя на иконке написано xls.

Честно говоря, мы разочаровались. Программа Total HTML Converter ничем не отличается по результату от стандартного способа, который мы описывали под №1. Конвертация точно такая же – html-страница копируется сплошняком со всеми графическими элементами.

Подводим итоги

Мы рассмотрели 3 способа конвертации html-таблиц в форматы Эскеля. Самый лучший, по крайней мере для нас, способ – онлайн конвертация на сервисе Convertio. Стандартный способ сохранения файла в Excel и использование сторонней программы дали одинаковый, не очень качественный результат.

Но возможно все зависит от качества самой веб-таблицы. По всей видимости у нас она была не в лучшем состоянии, поэтому такие результаты. Но все равно нужно понимать: любую таблицу, которую вы отконвертируете, придется дополнительно редактировать.

Еще много полезного о конвертации файлов:

Как сохранить эксель в html

Преобразование EXCEL таблицы в HTML формат для публикации в материалах сайта

Для примера возьмём Excel таблицу состоящую из 4 столбцов и 12 строк.
Столбец Aнумерация предметов по порядку возрастания пунктов-строк
Столбец Bколичество предметов
Столбец Cцена одного предмета
Столбец Dсумма стоимости предметов одной строки как произведение цены предмета на их количество
Столбец D ячейка D12сумма стоимости всех предметов

Само собой разумеется что сама таблица в виде excel файла не может быть размещена в материалах сайта по множеству причин. Для её размещения, публикации в виде текстового представления данных требуется конвертация в HTML совместимый формат.

Сначала добавляем перед таблицей ещё одну строку, выделено красной рамкой .
Затем перед каждым столбцом таблицы добавляем ещё по одному столбцу, добавляем ещё 4 столбца, выделено зелёными рамками .

В итоге получим таблицу состоящую из 8 столбцов и 13 строк.

Далее действуем следующим образом:

В ячейку A1 в виде текста записываем HTML тег таблицы
В ячейки диапазона A2-A11 перед каждой ячейкой столбца B в виде текста записываем открывающие HTML теги строки и ячейки

В ячейки диапазонов С2-С11 , E2-E11 , G2-G11 перед каждой ячейкой столбцов D , F и H в виде текста записываем закрывающий и открывающий HTML теги ячеек

В ячейки диапазона I2-I13 после каждой ячейки столбца H в виде текста записываем закрывающие HTML теги ячейки и строки


В ячейку I14 в виде текста записываем закрывающий HTML тег таблицы

Далее в ячейки A12 и A13 в виде текста записываем открывающий HTML тег строки и открывающий HTML тег ячейки с атрибутом colspan объединяющим в строках 12 и 13 столбцы B , D и F в одну ячейку

В результате получим таблицу заполненную как исходными данными в excel формате так и HTML тегами в виде текста.

Далее в Excel редакторе, выделяем таблицу в диапазоне A1-I13 , в меню программы выбираем команду «Сохранить как» и сохраняем выделенный фрагмент в виде текстового файла (например — tabltxt.txt), кодировка не имеет никакого значения, можно сохранять как в кодировке UTF-8 так и в кодировке Ms-DOS. Excel выдаст предупреждающее окно:

Нажимаем на клавишу «OK» и Excel опять выдаст окно предупреждения:

Нажимаем на клавишу «ДА» и выделенный фрагмент будет сохранён в виде текстового файла tabltxt.txt

Далее дальнейшую работу по конвертации переносим в HTML редактор , в принципе всё остальное так же можно сделать и в простом текстовом редакторе, но вариант с HTML редактором более предпочтителен .

Открываем файл tabltxt.txt в любом текстовом редакторе, выделяем всё содержимое как текст и вставляем в HTML редактор в режиме HTML . Получим следующий исходный HTML текст таблицы. Так же можно взять выделение сохранённого файла из Excel. Разница будет лишь в том что в зависимости от кодировки сохранённого файла в нём могут появиться «артефакты» в виде лишних символов как это можно увидеть на скриншоте в ячейках ( »

Рубрика: Веб / Веб-технологии | Дополнительные материалы
« ).

Далее удаляем все «артефакты» в случае их наличия и все пробелы. Так же пишем стиль CSS для ячеек таблицы: td В результате получим исходный HTML текст таблицы в формате HTML. (скриншот приведён как есть без структурного форматирования HTML как если бы он выглядел в текстовом редакторе). В таком виде исходный текст таблицы пригоден для употребления в качестве HTML таблицы данных для публикации в материале, так как является чисто HTML форматом.

После сохранения таблицы в виде HTML файла и просмотре в Обозревателе получим следующее отображение таблицы конвертированной из excel формата в HTML формат.

Смысл всех вышеперечисленных действий сводится к однму:

1 . Сформировать перед каждой строкой таблицы excel, HTML строку и начало HTML ячейки.
2 . Сформировать между столбцами таблицы excel, конец одной и начало другой HTML ячейки.
3 . Сформировать после каждой строки таблицы excel, окончание HTML ячейки и строки.
4 . Сформировать в начале и в конце таблицы excel, начало и окончание HTML таблицы в виде тега table.

Само собой разумеется, что для более презентабельного отображения данных таблицы, необходимо прописать классы CSS в HTML тегах строк и ячеек таблицы. Например с атрибутами отступов, цвета и стиля шрифта, бордюров и прочего оформления. Но это уже отдельная тема не рассматриваемая в данном материале .

excel, преобразование excel в html

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector
×
×