Web выгрузка в excel

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

Вставка статической информации

Один из способов получить данные из веб-страницы на лист — просто выделить текст в браузере, нажать Ctrl+C, чтобы скопировать его в буфер обмена, а затем вставить текст в таблицу. Результат может быть разным, в зависимости от того, какой браузер вы используете. Если это Internet Explorer, то вставленные данные будут, вероятно, очень похожи на оригинал — в комплекте с настройками форматирования, гиперссылками и графикой.

Если вы используете браузер, отличный от Internet Explorer, то, выбрав Главная ► Буфер обмена ► Вставить, можно вставить все, что вы скопировали с веб-страницы, в одну ячейку, а это, скорее всего, не то, чего вы хотите. Решение состоит в том, чтобы выбрать команду Главная ► Буфер обмена ► Вставить ► Специальная вставка, а затем пробовать различные варианты вставки.

Вставка обновляемой информации

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

Рис. 176.1. Этот сайт содержит информацию, которая часто меняется

Рис. 176.1. Этот сайт содержит информацию, которая часто меняется

  1. Выберите Данные ► Получение внешних данных ► Из Интернета для открытия диалогового окна Создание веб-запроса.
  2. В поле Адрес введите URL сайта и нажмите кнопку Пуск. Для этого примера URL-адрес веб-страницы, показанной на рис. 176.1, будет таким: http://cbr.ru. Обратите внимание, что диалоговое окно Создание веб-запроса содержит мини-браузер (Internet Explorer). Вы можете переходить по ссылкам и посещать сайты, пока не найдете данные, которые вас заинтересуют. Когда веб-страница отображается в окне Создание веб-запроса, вы видите одну или несколько желтых стрелок, которые соответствуют различным элементам на веб-странице.
  3. Щелкните на желтой стрелке, и она превратится в зеленый флажок, который указывает, что данные этого элемента будут импортированы. Вы можете импортировать столько элементов, сколько нам нужно. Для этого
    примера я щелкну на стрелке рядом с таблицей курсов.
  4. Нажмите кнопку Импорт для открытия диалогового окна Импорт данных.
  5. В окне Импорт данных укажите место для импортированных данных. Это может быть ячейка в существующем или новом листе.
  6. Нажмите кнопку ОК, и Excel импортирует данные (рис. 176.2).

Рис. 176.2. Данные, импортированные из веб-страницы

Рис. 176.2. Данные, импортированные из веб-страницы

По умолчанию импортированные данные — это веб-запрос. Чтобы обновить информацию, щелкните правой кнопкой мыши на любой ячейке импортированного диапазона и выберите в контекстном меню команду Обновить. Если вы не хотите создавать обновляемый запрос, укажите это в шаге 5 предыдущего списка действии. В окне Импорт данных нажмите кнопку Свойства и снимите флажок сохранить определение запроса.

Открытие веб-страницы напрямую

Еще один способ получить данные веб-страницы на лист — открыть URL-адрес напрямую, с помощью команды Файл ► Открыть. Просто введите полный URL-адрес в поле Имя файла и нажмите кнопку Открыть. Результат будет отличаться в зависимости от того, какая разметка у веб-страницы, но в большинстве случаев он вас удовлетворит. Иногда таким способом извлекается довольно много посторонней информации.

Перейти к содержимому

Если вы обладаете достаточным количеством времени и ресурсов перенести данные с сайта в таблицу «Excel» можно в «ручном режиме». Тот случай, когда таблица на сайте выделяется курсором мыши, копируется и вставляется в файл «Эксель».   Естественно, этот способ долог и неудобен.

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

Для автоматизации импорта данных в «Эксель» из интернета потребуется «Excel» версии 2013 и выше, а так же надстройка Power Query.

Последовательность настройки скачивания данных:

Порядок действий для импорта таблицы из интернет-сайта в таблицу Excel.

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

  • Шаг 5. Выбрать нужную таблицу из предложенного списка и нажать «Правка» или «Загрузить»Выбор таблицы для загрузки из интернета

Если нажать «Загрузить», таблица будет импортирована целиком. В режиме правки можно редактировать вид загружаемой таблицы, выбирать нужные столбцы и т.д.

Результат скачивания таблицы в Excel

Результат скачивания таблицы в Excel

Парсинг нетабличных данных с сайтов

Проблема с нетабличными данными

С загрузкой в Excel табличных данных из интернета проблем нет. Надстройка Power Query в Excel легко позволяет реализовать эту задачу буквально за секунды. Достаточно выбрать на вкладке Данные команду Из интернета (Data — From internet), вставить адрес нужной веб-страницы (например, ключевых показателей ЦБ) и нажать ОК:

Импорт данных с веб-страницы через Power Query

Power Query автоматически распознает все имеющиеся на веб-странице таблицы и выведет их список в окне Навигатора:

Выбираем таблицу на сайте для импорта

Дальше останется выбрать нужную таблицу методом тыка и загрузить её в Power Query для дальнейшей обработки (кнопка Преобразовать данные) или сразу на лист Excel (кнопка Загрузить).

Если с нужного вам сайта данные грузятся по вышеописанному сценарию — считайте, что вам повезло.

К сожалению, сплошь и рядом встречаются сайты, где при попытке такой загрузки Power Query «не видит» таблиц с нужными данными, т.е. в окне Навигатора попросту нет этих Table 0,1,2… или же среди них нет таблицы с нужной нам информацией. Причин для этого может быть несколько, но чаще всего это происходит потому, что веб-дизайнер при создании таблицы использовал в HTML-коде страницы не стандартную конструкцию с тегом <TABLE>, а её аналог — вложенные друг в друга теги-контейнеры <DIV>. Это весьма распространённая техника при вёрстке веб-сайтов, но, к сожалению, Power Query пока не умеет распознавать такую разметку и загружать такие данные в Excel.

Тем не менее, есть способ обойти это ограничение ;)

В качестве тренировки, давайте попробуем загрузить цены и описания товаров с маркетплейса Wildberries — например, книг из раздела Детективы:

Детективы на Wildberries

Загружаем HTML-код вместо веб-страницы

Сначала используем всё тот же подход — выбираем команду Из интернета на вкладке Данные (Data — From internet) и вводим адрес нужной нам страницы:

https://www.wildberries.ru/catalog/knigi/hudozhestvennaya-literatura/detektivy

После нажатия на ОК появится окно Навигатора, где мы уже не увидим никаких полезных таблиц, кроме непонятной Document:

Навигатор без таблиц

Дальше начинается самое интересное. Жмём на кнопку Преобразовать данные (Transform Data), чтобы всё-таки загрузить содержимое таблицы Document в редактор запросов Power Query. В открывшемся окне удаляем шаг Навигация (Navigation) красным крестом:

Удаляем ненужный шаг Навигация

… и затем щёлкаем по значку шестерёнки справа от шага Источник (Source), чтобы открыть его параметры:

Меняем тип файла

В выпадающием списке Открыть файл как (Open file as) вместо выбранной там по-умолчанию HTML-страницы выбираем Текстовый файл (Text file). Это заставит Power Query интерпретировать загружаемые данные не как веб-страницу, а как простой текст, т.е. Power Query не будет пытаться распознавать HTML-теги и их атрибуты, ссылки, картинки, таблицы, а просто обработает исходный код страницы как текст.

После нажатия на ОК мы этот HTML-код как раз и увидим (он может быть весьма объемным — не пугайтесь):

Исходный код страницы в Power Query

Ищем за что зацепиться

Теперь нужно понять на какие теги, атрибуты или метки в коде мы можем ориентироваться, чтобы извлечь из этой кучи текста нужные нам данные о товарах. Само-собой, тут всё зависит от конкретного сайта и веб-программиста, который его писал и вам придётся уже импровизировать.

В случае с Wildberries, промотав этот код вниз до товаров, можно легко нащупать простую логику:

Изучаем исходный код

  • Строчки с ценами всегда содержат метку lower-price
  • Строчки с названием бренда — всегда с меткой brand-name c-text-sm
  • Название товара можно найти по метке goods-name c-text-sm

Иногда процесс поиска можно существенно упростить, если воспользоваться инструментами отладки кода, которые сейчас есть в любом современном браузере. Щёлкнув правой кнопкой мыши по любому элементу веб-страницы (например, цене или описанию товара) можно выбрать из контекстного меню команду Инспектировать (Inspect) и затем просматривать код в удобном окошке непосредственно рядом с содержимым сайта:

Инспектирование кода HTML на веб-странице

Фильтруем нужные данные

Теперь совершенно стандартным образом давайте отфильтруем в коде страницы нужные нам строки по обнаруженным меткам. Для этого выбираем в окне Power Query в фильтре [1] опцию Текстовые фильтры — Содержит (Text filters — Contains), переключаемся в режим Подробнее (Advanced) [2] и вводим наши критерии:

Фильтруем нужные строки

Добавление условий выполняется кнопкой со смешным названием Добавить предложение [3]. И не забудьте для всех условий выставить логическую связку Или (OR) вместо И (And) в выпадающих списках слева [4] — иначе фильтрация просто не сработает.

После нажатия на ОК на экране останутся только строки с нужной нам информацией:

Отобранные строки

Чистим мусор

Останется почистить всё это от мусора любым подходящим и удобным лично вам способом (их много). Например, так:

  1. Удалить заменой на пустоту начальный тег: <span class=»price»> через команду Главная — Замена значений (Home — Replace values).
  2. Разделить получившийся столбец по первому разделителю «>» слева командой Главная — Разделить столбец — По разделителю (Home — Split column — By delimiter) и затем ещё раз разделить получившийся столбец по первому вхождению разделителя «<» слева, чтобы отделить полезные данные от тегов:

    Отделяем данные от HTML-тегов

  3. Удалить лишние столбцы, а в оставшемся заменить стандартную HTML-конструкцию &quot; на нормальные кавычки.

В итоге получим наши данные в уже гораздо более презентабельном виде:

Зачищенные данные

Разбираем блоки по столбцам

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

Выполнить такое преобразование можно очень легко — с помощью, буквально, одной строчки кода на встроенном в Power Query языке М. Для этого щёлкаем по кнопке fx в строке формул (если у вас её не видно, то включите её на вкладке Просмотр (View)) и вводим следующую конструкцию:

= Table.FromRows(List.Split(#»Замененное значение1″[Column1.2.1],3))

Здесь функция List.Split разбивает столбец с именем Column1.2.1 из нашей таблицы с предыдущего шага #»Замененное значение1″ на кусочки по 3 ячейки, а потом функция Table.FromRows конвертирует получившиеся вложенные списки обратно в таблицу — уже из трёх столбцов:

Разобранная на 3 столбца таблица

Ну, а дальше уже дело техники — настроить числовые форматы столбцов, переименовать их и разместить в нужном порядке. И выгрузить получившуюся красоту обратно на лист Excel командой Главная — Закрыть и загрузить (Home — Close & Load…)

Загруженные в Excel данные с сайта

Вот и все хитрости :)

Ссылки по теме

  • Импорт курса биткойна с сайта через Power Query
  • Парсинг текста регулярными выражениями (RegExp) в Power Query
  • Параметризация путей к данным в Power Query


Download Article


Download Article

  • Windows
  • |

  • Mac

If you need to import data from the web into your Microsoft Excel spreadsheet, you can use the import feature of Power Query on both Windows and macOS. While the steps are straightforward in Windows, Mac users technically don’t have the option to import web data. Fortunately, we’ve found a simple workaround for Mac using Microsoft Word! This wikiHow will show you import data from a remote URL into Excel in Windows and macOS.

  1. Image titled Import Web Data Into Excel on PC or Mac Step 2

    1

    Click an empty cell in the spreadsheet. Choose the cell where you’d like the pasted data to begin.

  2. Image titled Import Web Data Into Excel on PC or Mac Step 3

    2

    Click the Data tab. This tab is located between Formulas and Review at the top of the app window.

    Advertisement

  3. Image titled Import Web Data Into Excel on PC or Mac Step 4

    3

    Click From Web on the Data ribbon. You will see this in the upper-left corner of Excel on the «Get & Transform Data» panel.[1]
    This option is in the upper-left corner of your Data ribbon. This opens the «From Web» window.

    • If you don’t see this option, click the Get Data drop-down menu at the top-left, select From Other Sources, and then select From Web.
  4. Image titled Import Web Data Into Excel on PC or Mac Step 5

    4

    Enter the website URL and click OK. The address you enter or paste into the typing area should be the URL that contains the data you want to import.

  5. Image titled Import Web Data Into Excel on PC or Mac Step 6

    5

    Click Connect to access the site anonymously. If the data is on a public website, this will display the tables in Table View.[2]
    If the site requires a login:

    • If you usually sign in to this page by entering a username and password into the site’s own login/sign-in fields, select Basic, enter your login details, and click Connect.
    • If you need to log in through a work or school account, select Windows to use a Windows network login, or select Organizational account and then Sign In to log in through your organization’s server.
    • If you have an API key, select Web API, enter the key, and click Connect.
  6. Image titled Import Web Data Into Excel on PC or Mac Step 7

    6

    Select a table. The list of tables appears in the left panel of the Navigator window. When you select a table, the data will appear in the panel on the right.

    • If you’re not sure which table you need, click the Web View tab at the top of the right panel to display the website, and then click the table to select it.
    • To import more than one table, check the box next to «Select multiple items» near the top-left.
  7. Image titled Import Web Data Into Excel on PC or Mac Step 8

    7

    Click the Load button. This will import the selected table data into your Excel spreadsheet.

  8. Advertisement

  1. Image titled Import Web Data Into Excel on PC or Mac Step 8

    1

    Open Microsoft Word to a blank document. Because Excel for macOS, even the one that comes with Office 365, doesn’t have an option to import data from the web, you’ll need to do a little workaround that involves creating a query in Microsoft Word first.[3]

  2. Image titled Import Web Data Into Excel on PC or Mac Step 9

    2

    Type or paste the URL you want to import from. It’s important that the URL be in plain text. If you copied the URL from somewhere else, click the small icon that appears after pasting and select Keep Text Only.

  3. Image titled Import Web Data Into Excel on PC or Mac Step 10

    3

    Click the File menu and choose Save as. Now you’ll need to save the file in the TXT format in a particular location.

  4. Image titled Import Web Data Into Excel on PC or Mac Step 11

    4

    Select the Queries folder. Before you save the file, you’ll need to navigate to Applications > Microsoft Office 365 > Office > Queries, as that’s where you’ll need to save the file.

    • If you’re using a different version of Office, you’ll see your version instead.
  5. Image titled Import Web Data Into Excel on PC or Mac Step 12

    5

    Save the file as a plain text file. Enter a name for your file and choose the .txt file extension. You’ll see a warning message in a window called «File Conversion.»

  6. Image titled Import Web Data Into Excel on PC or Mac Step 13

    6

    Select your preferences and click OK. These two options are very important:

    • Under «Text encoding,» select MS-DOS.
    • Under «Options,» check the box next to «Insert line breaks.» The other options should be blank.
  7. Image titled Import Web Data Into Excel on PC or Mac Step 14

    7

    Open Finder and navigate to the Queries folder. Again, it’s at Applications > Microsoft Office 365 > Office > Queries.

  8. Image titled Import Web Data Into Excel on PC or Mac Step 15

    8

    Change the file extension from .txt to .iqy.

    • Right-click the file you created and select Get Info.
    • In the file name, replace .txt with .iqy.
    • When prompted, confirm that you want to change the file extension.
  9. Image titled Import Web Data Into Excel on PC or Mac Step 16

    9

    Open your spreadsheet in Excel. Now that you have a query to work with, you can import it into Excel.

  10. Image titled Import Web Data Into Excel on PC or Mac Step 17

    10

    Click the Data menu. It’s in the menu bar at the top of the screen.

  11. Image titled Import Web Data Into Excel on PC or Mac Step 18

    11

    Select the Get external data menu. Additional options will expand.

  12. Image titled Import Web Data Into Excel on PC or Mac Step 19

    12

    Click Run web query. This will open a Finder window to the Queries folder, which is where you saved your query.

  13. Image titled Import Web Data Into Excel on PC or Mac Step 20

    13

    Select your IQY file and click Get Data. This will import the data into your Excel file.

  14. Advertisement

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Thanks for submitting a tip for review!

References

About This Article

Article SummaryX

You can easily import a data table from the web into your Excel file using Excel’s «From Web» import tool. To do this, open your Excel file, and then click the cell where you’d like the imported data to appear. On the Data tab, click the From Web button on the left side of the toolbar to open the «From Web» window. Type or enter the URL that contains your data and click OK. If the data is on a public website, click Connect to open it. If it requires a login, choose the option in the left panel that describes how you typically sign in, enter your login details, and click Connect. If you know the name of the table you want to import, click it in the left panel. If you’d rather select it from the website, click the Web View tab above the right panel to load the site, and then click the desired table. You can import more than one table at once by checking the «Select multiple items» box and clicking additional tables. When you’re finished, click Load to import the selected data to your spreadsheet.

Did this summary help you?

Thanks to all authors for creating a page that has been read 72,295 times.

Is this article up to date?

Содержание

  • Процедура преобразования из формата HTML в Эксель
    • Способ 1: использование сторонних программ
    • Способ 2: преобразование с помощью стандартных инструментов Excel
  • Вопросы и ответы

HTML в Microsoft Excel

Потребность преобразовать таблицу с расширением HTML в форматы Excel может наступить в различных случаях. Возможно, нужно конвертировать данные веб-страницы из интернета или файлы HTML, использовавшиеся локально для других нужд специальными программами. Довольно часто производят конвертацию транзитом. То есть, сначала переводят таблицу из HTML в XLS или XLSX, потом выполняют её обработку или редактирование, а потом снова преобразуют в файл с прежним расширением для выполнения его первоначальной функции. Это связано с тем, что с таблицами намного проще работать именно в Excel. Давайте узнаем, как можно перевести таблицу из формата HTML в Эксель.

Читайте также: Как перевести HTML в Word

Формат HTML является языком гипертекстовой разметки. Объекты с данным расширением чаще всего применяются в интернете, как статические веб-страницы. Но нередко они могут использоваться и для локальных нужд, например, как документы справки к различным программам.

Если возникает вопрос конвертации данных из HTML в форматы Excel, а именно XLS, XLSX, XLSB или XLSM, то неопытный пользователь может взяться за голову. Но на самом деле ничего страшного тут нет. Конвертация в современных версиях Excel встроенными инструментами программы выполняется довольно просто и в большинстве случаев относительно корректно. Кроме того, можно сказать, что сам процесс интуитивно понятен. Тем не менее, в сложных случаях можно воспользоваться для конвертации сторонними утилитами. Давайте рассмотрим различные варианты преобразования HTML в Excel.

Способ 1: использование сторонних программ

Сразу давайте остановимся на использовании сторонних программ для перевода файлов из формата HTML в Эксель. Преимущества данного варианта заключаются в том, что специализированные утилиты способны справляться с конвертированием даже очень сложных объектов. Недостаток заключается, в том, что подавляющее большинство из них платное. Кроме того, на данный момент практически все достойные варианты англоязычные без русификации. Давайте рассмотрим алгоритм работы в одной из самых удобных программ для выполнения вышеуказанного направления конвертации — Abex HTML to Excel Converter.

Скачать Abex HTML to Excel Converter

  1. После того, как был скачан инсталлятор программы Abex HTML to Excel Converter, запускаем его, выполнив по нему двойной щелчок левой кнопкой мыши. Открывается приветственное окно установщика. Щелкаем по кнопке «Next» («Далее»).
  2. Приветственное окно установщика программы Abex HTML to Excel Converter

  3. Вслед за этим открывается окно с лицензионным соглашением. Для того, чтобы согласится с ним, следует поставить переключатель в позицию «I accept the agreement» и щелкнуть по кнопке «Next».
  4. Лицензионное соглашение в установщике программы Abex HTML to Excel Converter

  5. После этого открывается окно, в котором указывается, куда именно будет устанавливаться программа. Конечно, при желании можно изменить директорию, но без особой нужды делать это не рекомендуется. Так что просто жмем на кнопку «Next».
  6. Окно указания директории установки программы Abex HTML to Excel Converter

  7. В следующем окне указывается, каковым будет название программы, отображаемое в стартовом меню. Тут тоже можно просто нажать на кнопку «Next».
  8. Окно настройки отображения наименования в стартовом меню программы Abex HTML to Excel Converter

  9. В следующем окне предлагается путем выставления галочек установить иконку утилиты на рабочий стол (по умолчанию включено) и на панель быстрого запуска. Выставляем данные настройки согласно своим предпочтениям и жмем на кнопку «Next».
  10. Окно выставления иконок программы Abex HTML to Excel Converter

  11. После этого запускается окно, где обобщена вся информация о всех тех настройках установки программы, которые пользователь внес ранее. Если пользователя что-то не удовлетворяет, то он может нажать на кнопку «Back» и произвести соответствующее редактирование настроек. Если же он со всем согласен, то для начала установки следует нажать на кнопку «Install».
  12. Запуск установки программы Abex HTML to Excel Converter

  13. Происходит процедура установки утилиты.
  14. Процедура установки программы Abex HTML to Excel Converter

  15. После её завершения запускается окно, в котором сообщается об этом. Если пользователь хочет тут же запустить программу автоматически, то он должен проследить, чтобы около параметра «Launch Abex HTML to Excel Converter» была установлена галочка. В обратном случае нужно снять её. Для выхода из окна установки следует нажать на кнопку «Finish».
  16. Завершение установки программы Abex HTML to Excel Converter

    Lumpics.ru

  17. Важно знать, что перед запуском утилиты Launch Abex HTML to Excel Converter, как бы он не проводился, вручную или сразу после установки приложения, следует завершить работу и закрыть все программы пакета Microsoft Office. Если вы этого не сделаете, то при попытке открыть Abex HTML to Excel Converter откроется окошко, в котором будет сообщаться, о необходимости выполнить данную процедуру. Чтобы перейти к работе с утилитой, нужно нажать в этом окне на кнопку «Yes». Если при этом офисные документы открыты, то работа в них принудительно будет завершена, а все несохраненные данные потеряны.
  18. Сообщение о необходимости закрыть оффисные доекменты в программе Abex HTML to Excel Converter

  19. Затем будет запущено окно регистрации. Если вы приобрели регистрационный ключ, то в соответствующих полях требуется ввести его номер и ваше имя (можно псевдоним), а после этого нажать на кнопку «Register». Если вы пока ключ не приобрели и хотите испытать урезанную версию приложения, то в этом случае просто нажмите на кнопку «Remind me later».
  20. Окно регистрации в программе Abex HTML to Excel Converter

  21. После выполнения вышеуказанных действий запускается непосредственно окно программы Abex HTML to Excel Converter. Для добавления файла в формате HTML для конвертации следует нажать на кнопку «Add Files».
  22. Переход к добавлению файлов для конвертации в окне программы Abex HTML to Excel Converter

  23. После этого открывается окно добавления файла. В нем нужно перейти в категорию, где находятся объекты, предназначенные для конвертации. Затем нужно их выделить Преимущество данного способа перед стандартным преобразованием HTML в Excel заключается в том, что можно выбирать и конвертировать сразу несколько объектов. После того, как файлы выделены, жмем на кнопку «Открыть».
  24. Открытие файлов в окне программы Abex HTML to Excel Converter

  25. Выбранные объекты будут отображены в основном окне утилиты. После этого кликаем по левому нижнему полю, чтобы выбрать один из трех форматов Excel, в которые можно преобразовать файл:
    • XLS (по умолчанию);
    • XLSX;
    • XLSM (с поддержкой макросов).

    Делаем выбор.

  26. Выбор формата файла Excel в программе Abex HTML to Excel Converter

  27. После этого переходим к блоку настроек «Output setting» («Настройка вывода»). Тут следует указать, где именно будут сохраняться преобразованные объекты. Если выставить переключатель в позицию «Save target file(s) in source folder», то таблица будет сохраняться в той же директории, где расположен исходник в формате HTML. Если же вы желаете сохранять файлы в отдельной папке, то для этого следует переставить переключатель в позицию «Customize». При этом по умолчанию объекты будут сохраняться в папке «Output», которая в свою очередь размещена в корневом каталоге диска C.

    Если вы желаете сами указать место сохранения объекта, то следует кликнуть по кнопке, расположенной справа от поля с адресом.

  28. Переход к выбору директории сохранения файла в программе Abex HTML to Excel Converter

  29. После этого открывается окошко с обзором папок. Вам необходимо переместиться в ту директорию, которую хотите назначить местом сохранения. Затем следует нажать на кнопку «OK».
  30. Выбор директории сохранения файла в программе Abex HTML to Excel Converter

  31. После этого можно приступить непосредственно к процедуре конвертации. Для этого на верхней панели следует нажать на кнопку «Convert».
  32. Переход к конвертации в программе Abex HTML to Excel Converter

  33. Затем будет выполнена процедура преобразования. После её завершения откроется небольшое окошко, в котором сообщается об этом, а также автоматически запустится Проводник Windows в той директории, где расположены конвертированные файлы в формате Excel. Теперь с ними можно проводить любые дальнейшие манипуляции.

Процедура конвертации завершена в программе Abex HTML to Excel Converter

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

Способ 2: преобразование с помощью стандартных инструментов Excel

Также конвертировать файл HTML в любой формат Excel можно довольно легко и при помощи стандартных инструментов данного приложения.

  1. Запускаем Эксель и переходим во вкладку «Файл».
  2. Перемещение во вкладку Файл в Microsoft Excel

  3. В открывшемся окне клацаем по наименованию «Открыть».
  4. Переход к открытию файла в Microsoft Excel

  5. Вслед за этим запускается окно открытия файла. Нужно перейти в ту директорию, где расположен файл в формате HTML, который следует преобразовать. При этом в поле форматов файлов данного окна должен быть установлен один из следующих параметров:
    • Все файлы Excel;
    • Все файлы;
    • Все веб-страницы.

    Только в этом случае нужный нам файл отобразится в окне. Затем его нужно выделить и нажать на кнопку «Открыть».

  6. Окно открытия файла в Microsoft Excel

  7. После этого таблица в формате HTML отобразится на листе Excel. Но это ещё не всё. Нам необходимо сохранить документ в нужном формате. Для этого кликаем по пиктограмме в виде дискеты в левом верхнем углу окна.
  8. Переход к сохранению файла в Microsoft Excel

  9. Открывается окошко, в котором говорится, что существующий документ может иметь возможности, несовместимые с форматом веб-страницы. Жмем на кнопку «Нет».
  10. Окно предупреждения в Microsoft Excel

  11. После этого открывается окно сохранения файла. Переходим в директорию, где желаем его разместить. Затем при желании изменяем наименование документа в поле «Имя файла», хотя его можно оставить и текущим. Далее кликаем по полю «Тип файла» и выбираем один из типов файлов Excel:
    • XLSX;
    • XLS;
    • XLSB;
    • XLSM.

    Когда все вышеуказанные настройки произведены, жмем на кнопку «Сохранить».

  12. Окно сохранения документа в Microsoft Excel

  13. После этого файл будет сохранен с выбранным расширением.

Также существует другая возможность перейти в окно сохранения документа.

  1. Перемещаемся во вкладку «Файл».
  2. Перемещение во вкладку Файл в программе Microsoft Excel

  3. Перейдя в новое окно, щелкаем по пункту левого вертикального меню «Сохранить как».
  4. Переход в окно сохранения файла в Microsoft Excel

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

Окно сохранения документа в программе Microsoft Excel

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

Еще статьи по данной теме:

Помогла ли Вам статья?

Время на прочтение
2 мин

Количество просмотров 58K

Введение

Всем привет! Сегодня я опишу довольно тривиальную, но нигде не освещенную тему экспорта из страницы данных в Excel. На мое удивление сам процесс не описан нигде в полной мере. Итак, приступим.

Все написано до нас

Подумал я и начал искать, нашел очень быстро SheetJS , но, боже мой, как там запущено все! Если с форматированием еще можно справиться, то стили — это головная боль.

Все написано до нас. Подход 2

В старом-старом SharePoint 2007 есть такая возможность экспортировать эксель файл, на удивление это работает до сих пор и хорошо поддается описанию.

Что нужно:

  • Современный браузер (проверьте в старых)
  • Отформатированная таблица
  • Colspan, rowspan, border — знание табличной верстки

var tableToExcel = (function() {
		var uri = 'data:application/vnd.ms-excel;base64,'
		, template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>'
		, base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }
		, format = function(s, c) { 	    	 
			return s.replace(/{(w+)}/g, function(m, p) { return c[p]; }) 
		}
		, downloadURI = function(uri, name) {
		    var link = document.createElement("a");
		    link.download = name;
		    link.href = uri;
		    link.click();
		}

		return function(table, name, fileName) {
			if (!table.nodeType) table = document.getElementById(table)
				var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
			var resuri = uri + base64(format(template, ctx))
			downloadURI(resuri, fileName);
		}
	})();  


    // params: element id, sheet name, file name
    tableToExcel('resultTable','Смета', 'Ремрайон_смета.xls');

Форматирование

Оформите саму сетку в таблице с помощью атрибутов colspan, rowspan, добавьте стили и после этого вызывайте генерацию файла.

В заключение

Могу ответить в комментах на ваши вопросы.

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

Вы обращали внимание, что когда вы ищете какие-то товары в интернет-магазине или когда смотрите расписание какого-либо маршрута на сайте вроде tutu.ru, в адресной строке браузера формируется url по вполне логичным правилам?

Пример
http://www.tutu.ru/rasp.php?st1=201&st2=1501&date=07.10.2015

Разбор ссылки по частям
http://www.tutu.ru/rasp.php — начальная страница сайта
Часть строки после знака вопроса — параметры, передаваемые на сервер
st1=201 — станция отправления (Беговая)
st2=1501 — станция прибытия (Трехгорка)
date=07.10.2015 — дата, за которую необходимо выгрузить расписание

Вполне понятная логика, которую также можно было бы указать и через макрос VBA. Но вернемся к плейлистам. Поисковая выдача google выдала сразу ряд сайтов, которые выгружают плейлисты. Возьмем, для примера, самую верхнюю строчку

Если в левой части сайта можно нажать на «Плейлисты радиостанций», затем выбрать интересующую нас радиостанцию и нажать в верхней части на кнопку «Плейлист радиостанции за вчера». Почему за вчера? Потому что если импортировать песни за текущий день мы получаем только часть дневного эфира и сравнение получится некорректным

Получаем ссылку вида
https://7bx.ru/radio_track/avtoradio/20151003

Здесь все просто и логично, никаких параметров
avtoradio — название радиостанции
20151003 — дата плейлиста в формате YYYYMMDD

Далее нам необходимо импортировать содержимое страницы в Excel. На помощь нам приходит макрорекордер и импорт данных. На вкладке Разработчик включаем запись макроса (или в строке состояния нажав на кружок), затем идем на вкладку «Данные» и запускаем импорт внешних данных «Из интернета»

Импорт

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

Макрорекордер записал следующий код

Sub Макрос1()
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;https://7bx.ru/radio_track/avtoradio/20151005", Destination:=Range( _
        "$A$1"))
        .CommandType = 0
        .Name = "20151005"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub

Не все бактерии одинаково полезны, а макрорекордер, как всегда, записал все параметры, даже те, которые нам не нужны. Если код подсократить и объявить переменные, можно получить

Sub Macro2()
    
    Dim station As String
    Dim nDate As String
    Dim url As String: url = "https://7bx.ru/radio_track/"
    
    station = "avtoradio"
    nDate = Format(Date - 1, "YYYYMMDD") ' Смотрим плейлист за вчерашний день
    
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;" & url & station & "/" & nDate, Destination:=[A1])
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .Refresh BackgroundQuery:=False
    End With
    
End Sub

Остальное — дело техники, подчистить результат, задать массив с названиями радиостанциями и использовать цикл для загрузки плейлистов всех доступных радиостанций 🙂


Понравилась статья? Поделить с друзьями:
  • Web версия excel что это
  • Web абзацы в word
  • Web word for mac
  • Web view in word
  • Web to word doc