Xlsx как сохранить в таком формате
Перейти к содержимому

Xlsx как сохранить в таком формате

  • автор:

Сохранение результатов в формате Excel (.xlsx)

В техническую поддержку довольно часто поступают вопросы о возможности сохранять результаты парсинга сразу в виде xlsx файлов (стандартный формат Excel). Обычно мы рекомендуем использовать CSV, т.к. это по сути текстовый формат и выводить в таком виде результаты можно без каких-либо дополнений.
Но, благодаря возможности подключать Node.js модули, стало возможным сохранение в XLSX. Стоит сразу отметить, что это требует некоторых дополнительных манипуляций, но в целом в этом нет ничего сложного. И в этой статье будет показан реальный пример парсинга с сохранением в Excel.

Рассмотрим такую задачу:

Нужно спарсить из определенных категорий на mvideo названия товаров, их цены и сохранить собранные данные в xlsx файл, где они будут рассортированы по отдельным листам, для каждого производителя отдельный лист.

Нажмите, чтобы раскрыть.

  1. сбор данных и их подготовка, на выходе должен получиться текстовый файл с данными
  2. обработка и сохранение в Excel, на выходе должен быть xlsx файл

Спойлер: Пример содержимого файла после 1-го этапа

["Category","Name","Price"] <"sheet":"Samsung","data":["Телевизоры","Телевизор Samsung UE40NU7170U ","33990.00"]> <"sheet":"LG","data":["Телевизоры","Телевизор LG 49UK6300 ","37990.00"]> <"sheet":"LG","data":["Телевизоры","Телевизор LG 43UK6450 ","35990.00"]> <"sheet":"Samsung","data":["Телевизоры","Телевизор Samsung UE32M5550AU ","25990.00"]> <"sheet":"LG","data":["Телевизоры","Телевизор LG 43UK6300 ","32990.00"]> <"sheet":"Samsung","data":["Телевизоры","Телевизор Samsung UE49N5510AU ","37990.00"]> <"sheet":"LG","data":["Телевизоры","Телевизор LG 49UK7550 ","52990.00"]> <"sheet":"LG","data":["Телевизоры","Телевизор LG 55UK6750 ","57990.00"]> <"sheet":"Panasonic","data":["Телевизоры","Телевизор Panasonic TX-55FXR600 ","54990.00"]> <"sheet":"Samsung","data":["Телевизоры","Телевизор Samsung UE49NU7670U ","54990.00"]> <"sheet":"LG","data":["Телевизоры","LED-4K UHD телевизор 66"+ LG 70UK6710 ","99990.00"]> <"sheet":"Samsung","data":["Телевизоры","Телевизор Samsung UE43NU7170U ","35990.00"]> <"sheet":"Apple","data":["Ноутбуки Apple MacBook","Ноутбук Apple MacBook Pro 13 i5 2.3/8/128Gb SG (MPXQ2RU/A) ","94990.00"]> <"sheet":"Apple","data":["Ноутбуки Apple MacBook","Ноутбук Apple MacBook Pro 13 i5 2.3/8/128Gb Silver (MPXR2RU/A) ","94990.00"]> <"sheet":"HP","data":["Ноутбуки","Ноутбук HP 15-rb040ur 4UT06EA ","16990.00"]> <"sheet":"Lenovo","data":["Ноутбуки","Ноутбук Lenovo IdeaPad 330-17IKB (81DK001VRU) ","29990.00"]> <"sheet":"HP","data":["Ноутбуки","Ноутбук HP 15-ra072ur 3YD53EA ","23990.00"]> <"sheet":"HP","data":["Ноутбуки","Ноутбук HP Pavilion 13-an0072ur 5WC37EA ","45990.00"]>.

Как видно из примера выше, в каждой строке (кроме первой) есть переменная sheet — это название листа, и data — это строка данных в виде массива, где каждый элемент — это отдельная ячейка.

Настроив сохранение в таком виде, можно переходить ко 2-му этапу.
Для создания xlsx файла воспользуемся модулем Node XLSX. По ссылке можно посмотреть примеры использования и ознакомиться с возможностями.
Устанавливаем данный модуль и приступаем к написанию небольшого JS-парсера, который должен будет сконвертировать полученные на 1-м этапе данные в нужный нам формат. В качестве запросов будет указываться файл результатов из 1-го этапа.

Т.к. этот модуль (и в целом формат XLSX) не позволяют добавлять данные в уже существующий файл, а многопоточные чтение-добавление-запись сильно замедлят работу (либо даже могут привести к ошибкам), то воспользуемся пакетным чтением списка запросов и считаем все запросы из файла за один раз. Для этого укажем в defaultConf переменную bulkQueries и зададим большое значение, например 1000000 (чтобы гарантировано считать все данные из файла).

constructor() < this.defaultConf = < bulkQueries: 1000000 >; >

Получив все строки (массив set.bulkQueries), парсер должен привести их к виду, который принимает модуль node-xlsx. В это же время все строки будут рассортированы по своим листам.

let sheets = <>, headers = JSON.parse(set.bulkQueries[0].query); for(let i = 1; i < set.bulkQueries.length; i++) < let row = JSON.parse(set.bulkQueries[i].query); if(!sheets[row.sheet]) < sheets[row.sheet] = [headers] >sheets[row.sheet].push(row.data) > let output = []; for(let sheet of Object.keys(sheets).sort((a, b) => b ? 1 : a < b ? -1 : 0>)) < output.push(< name: sheet, data: sheets[sheet] >) >

После сортировки мы получаем массив output, в необходимом виде. Остается только сформировать результирующий файл и завершить работу.

[​IMG]

Сохраняем получившийся парсер в отдельное задание и возвращаемся к 1-му этапу. Объединяем оба пресета в цепочку заданий , указав запуск второго с файлом результатов от первого. Этим мы автоматизируем конвертацию полученных данных.
Указываем ссылки для парсинга, запускаем и получаем итоговый файл в формате xlsx такого вида:

Как видно на скриншоте, для каждого производителя создан отдельный лист с данными о товарах, а значит поставленная задача решена полностью.

Аналогичным образом можно формировать более сложные файлы, сохранять больше данных и применять форматирование.

Сохранение xls в xlsx xlsm

Устранены проблемы при преобразовании формата файлов из .xls в .xlsx или XLSM

Если у вас возникли какие-либо из указанных ниже симптомов, выполните приведенные ниже действия, чтобы преобразовать файлы из .xls в .xlsx и если книги (.xls) содержат макросы, их можно преобразовать в XLSM.

  1. Медленная работа при открытии книг с расширением .xls (проблема 3)
  2. Больший размер файла с расширением .xls (проблема 3)
  3. Если вы используете .xls с макросами и получаете ошибку OLE, как показано на снимках экрана ниже (проблема 4),

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

Шаги по преобразованию файлов .xls в .xlsx

  1. Чтобы убедиться, что файлы находятся в .xls формате, вы увидите тип файла Майкрософт Лист Excel 97–2003 в проводнике.

Откройте книгу >Перейдите к файлу >сохранить как >обзор , в котором откроется приведенное ниже окно. Убедитесь, что вы выбрали правильный путь для сохранения книги >Выберите книгу Excel (*.xlsx) в разделе Тип файла > Нажмите кнопку Сохранить.

Закройте и повторно откройте сохраненную книгу (.xlsx), чтобы изменения вступили в силу. Преобразованная книга отображается в той же папке, что и тип Майкрософт лист Excel, как показано ниже:

Примечание: Вы также можете заметить, что размер файла сократился почти в 3 раза по размеру файла .XLS.

Действия по проверке того, содержатся ли .xls книги макросов

  1. Во-первых, необходимо проверить, есть ли макросы для .xls файлов, которые мы пытаемся преобразовать. Чтобы проверить это, выполните указанные ниже действия.
    Откройте книгу.xls >вкладке «Разработчик» > кнопку «Выбрать макросы», как показано ниже

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

Шаги по преобразованию .xls (книги макросов) в XLSM

  1. Откройте идентифицированную книгу .xls, содержащую макросы.
  2. Перейдите в раздел Файл >Сохранить как >Обзор , где откроется приведенное ниже окно. Убедитесь, что вы выбрали правильный путь для сохранения книги > выберите Excel Macro-Enabled книга (*.xlsm), как показано ниже, и нажмите кнопку Сохранить.

Будет доступна новая книга с тем же именем файла с расширением XLSM, как показано ниже:

Сохранение книги в другом формате файла

В большинстве случаев вы наверняка будете сохранять свои книги в текущем формате файл (XLSX). Но иногда может потребоваться сохранить книгу в другом формате, например для более ранней версии Excel, в текстовый файл или в файл PDF или XPS. Просто помните, что всякий раз, когда вы сохраняете книгу в другом формате файла, часть его форматирования, данных и функций не может быть сохранены.

Список форматов файлов (также называемых типами файлов), которые вы можете (и не можете) открыть или сохранить в них документы в Excel 2013, см. в разделе Поддерживаемые Excel форматы файлов в конце этой статьи.

Пункт

  1. Откройте книгу, которую вы хотите сохранить.
  2. На вкладке Файл выберите команду Сохранить как.

Выбор варианта расположения

В разделе Места выберите расположение, где нужно сохранить книгу. Например, выберите OneDrive, чтобы сохранить файл в веб-хранилище, или Компьютер, чтобы сохранить файл в локальной папке, такой как Документы.

Диалоговое окно

В диалоговом окне Сохранение документа перейдите в нужное расположение.

Примечание: Список доступных форматов файлов зависит от типа активного листа в книге (лист, лист диаграммы или другой).

Преобразование книги Excel 97—2003 в текущий формат файла

Если вы открыли книгу Excel 97—2003, но вам не нужно хранить ее в этом формате файла, просто преобразуйте книгу в текущий формат файла (XLSX).

  1. В меню Файл выберите команду Сведения.
  2. Нажмите кнопку Преобразовать.

Кнопка

Поддерживаемые Excel форматы файлов

В Excel 2013 вы можете открывать и сохранять файлы проектов в перечисленных ниже форматах.

Форматы файлов Excel

Стандартный формат файлов Excel 2007—2013, основанный на языке XML. В этом формате нельзя сохранять код макросов Microsoft Visual Basic для приложений (VBA) и листы макросов Microsoft Office Excel 4.0 (XLM).

Книга Strict Open XML

Версия ISO Strict формата файла книги Excel (XLSX).

Формат Excel 2007–2013 на основе XML с поддержкой макросов. В этом формате можно сохранять код макросов VBA и листы макросов Excel 4.0 (XLM).

Двоичная книга Excel

Формат двоичных файлов (BIFF12) для Excel 2007—2013.

Стандартный формат файлов Excel 2007—2013 для шаблонов Excel. Не позволяет сохранять код макросов VBA, а также листы макросов Microsoft Excel 4.0 (XLM).

Формат файлов с поддержкой макросов для шаблонов Excel в приложениях Excel 2007—2013. В этом формате можно сохранять код макросов VBA и листы макросов Excel 4.0 (XLM).

Книга Excel 97—2003

Формат двоичных файлов Excel 97 — Excel 2003 (BIFF8).

Шаблон Excel 97- Excel 2003

Формат двоичных файлов Excel 97 — Excel 2003 (BIFF8) для хранения шаблонов Excel.

Книга Microsoft Excel 5.0/95

Формат двоичных файлов Excel 5.0/95 (BIFF5).

Таблица XML 2003

Формат файлов XML-таблиц 2003 (XMLSS).

Данные XML Data

Формат данных XML.

Надстройка Microsoft Excel

Формат файлов надстроек Excel 2007—2013 на основе XML с поддержкой макросов. Надстройка — это программа, обеспечивающая возможность выполнения дополнительного кода. Позволяет использовать проекты VBA и листы макросов Excel 4.0 (XLM).

Надстройка Excel 97—2003

Надстройка Excel 97-2003, дополнительная программа, предназначенная для выполнения дополнительного кода. Поддерживает использование проектов VBA.

Формат файла Excel 4.0, в котором сохраняются только обычные листы, листы диаграмм и макросов. В приложении Excel 2013 можно открыть книгу в этом формате, но сохранить в нем файл Excel нельзя.

Форматы текстовых файлов

Форматированный текст (разделители — пробелы)

Формат для Lotus, с разделителями — пробелами. Сохраняет только активный лист

Текст (разделители — знаки табуляции)

Сохраняет книгу в виде текстового файла, разделенного знаками табуляции, — для использования в другой операционной системе Microsoft Windows — и гарантирует, что символы табуляции, разрывы строк и другие символы будут интерпретироваться правильно. Сохраняет только активный лист.

Сохраняет книгу в виде текстового файла, разделенного знаками табуляции, — для использования в операционной системе Макинтош — и гарантирует, что символы табуляции, разрывы строк и другие символы будут интерпретироваться правильно. Сохраняет только активный лист.

Сохраняет книгу в виде текстового файла, разделенного знаками табуляции, — для использования в операционной системе MS-DOS — и гарантирует, что символы табуляции, разрывы строк и другие символы будут интерпретироваться правильно. Сохраняет только активный лист.

Текст в кодировке Unicode

Сохраняет книгу в виде текста в кодировке Unicode, стандартной кодировке символов, разработанном Unicode Consortium.

CSV (разделители — запятые)

Сохраняет книгу в виде текстового файла, разделенного знаками запятой, — для использования в другой операционной системе Windows — и гарантирует, что символы табуляции, разрывы строк и другие символы будут интерпретироваться правильно. Сохраняет только активный лист.

Сохраняет книгу в виде текстового файла, разделенного знаками запятой, — для использования в операционной системе Макинтош — и гарантирует, что символы табуляции, разрывы строк и другие символы будут интерпретироваться правильно. Сохраняет только активный лист.

Сохраняет книгу в виде текстового файла, разделенного знаками запятой, — для использования в операционной системе MS-DOS — и гарантирует, что символы табуляции, разрывы строк и другие символы будут интерпретироваться правильно. Сохраняет только активный лист.

Формат обмена данными. Сохраняет только активный лист.

Формат Symbolic Link. Сохраняется только активный лист.

Примечание: Если вы сохраните книгу в любом текстовом формате, будут потеряны все элементы форматирования.

Другие форматы файлов

dBase III и IV. Файлы этого формата можно открывать в Microsoft Excel, но сохранять файлы Microsoft Excel в формате dBase нельзя.

Таблица OpenDocument. Файлы приложения Excel 2010 можно сохранять в формате, который позволяет открывать их в редакторах электронных таблиц, поддерживающих формат таблиц OpenDocument, таких как Google Docs или OpenOffice.org Calc. Таблицы в формате ODS также можно открывать в приложении Excel 2010. При сохранении и открытии ODS-файлов может быть потеряно форматирование.

Формат переносимого документа (PDF). Этот формат файла сохраняет форматирование документа и обеспечивает общий доступ к файлам. При просмотре PDF-файла в Интернете и выводе его на печать сохраняется его исходное представление. Данные в файле невозможно изменить. Формат PDF также полезен для документов, которые будут воспроизведены с помощью коммерческих методов печати.

Спецификация XML-бумаги (XPS). Этот формат файла сохраняет форматирование документа и обеспечивает общий доступ к файлам. Когда XPS-файл просматривается в Интернете или печатается, он сохраняет именно тот формат, который вы планировали, и данные в файле не могут быть легко изменены.

Форматы файлов, использующие буфер обмена

Если вы скопировали данные в буфер обмена в одном из следующих форматов файлов, вы можете вставить их в Excel, используя команду Вставка или Специальная вставка (Главная > Буфер обмена > Вставка).

Идентификаторы типа буфера обмена

Рисунки в формате Windows Metafile (WMF) или Windows Enhanced Metafile (EMF).

Примечание: Если вы скопируете метафайл Windows (WMF) из другой программы, Microsoft Excel вставит рисунок в виде расширенного метафайла (EMF).

Рисунки, сохраненные в растровом формате (BMP).

Форматы файлов Microsoft Excel

Двоичные форматы файлов для Excel версий 5.0/95 (BIFF5), Excel 97—2003 (BIFF8) и приложения Excel 2013 (BIFF12).

Формат Symbolic Link.

Формат обмена данными.

Текст (разделители — знаки табуляции)

Текстовый формат со знаками табуляции в качестве разделителей.

CSV (разделители — запятые)

Формат с разделителями-запятыми

Форматированный текст (разделители — пробелы)

RTF. Только из Excel.

GIF, JPG, DOC, XLS или BMP

Объекты Microsoft Excel, объекты правильно зарегистрированных программ, поддерживающих OLE 2.0 (OwnerLink), а также Picture или другой формат презентации.

GIF, JPG, DOC, XLS или BMP

OwnerLink, ObjectLink, Link, Picture или другой формат.

Формат рисованного объекта Office или Picture (EMF)

Отображаемый текст, текст OEM

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

Веб-страница в одном файле (MHT или MHTML). Этот формат файла объединяет встроенные рисунки, приложения, связанные документы и другие вспомогательные элементы, на которые есть ссылки в документе.

Примечание: Если вы скопируете текст из другой программы, Microsoft Excel вставит этот текст в формате HTML независимо от формата исходного текста.

Форматы файлов, не поддерживаемые в Excel 2013

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

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

  • Найти в Интернете компанию, выпускающую конвертеры файлов для форматов, не поддерживаемых Excel.
  • Сохраните книгу в другом формате файла, который можно открыт в другой программе. Например сохраните книгу в электронную таблицу XML или текстовый формат файла, который может поддерживаться в другой программе.

Идентификаторы типа буфера обмена

Форматы файлов Excel 2.0, 3.0 и 2.x

WK1, FMT, WK2, WK3, FM3, WK4

.WK1, .WK2, .WK3, .WK4, .WKS

Форматы файлов Lotus 1-2-3 (все версии)

Формат файлов Microsoft Works (все версии)

Формат файла DBASE II

Формат файла Quattro Pro для MS-DOS

Quattro Pro 5.0 и 7.0 для Windows.

Facebook

LinkedIn

Электронная почта

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

Из XLS в XLSX

Мы рекомендуем использовать формат XLSX т.к. он более и занимает меньше места.

Для работы необходим Microsoft Excel 2007 и старше.

  1. Открываем файл в формате XLS.
  2. Нажимаем — на кнопку в левом верхнем углу.
  3. Наводим мышку на стрелочку рядом с «Сохранить как»
  4. Выбираем «Книга Excel»

При клике — откроется окно. В котором также можно выбрать формат сохранения.

Нужный формат — выделен на рисунке ниже.

Возникли трудности с Excel? ПО устарело?

Наши специалисты приедут, обновят и настроят все для работы!

Чтобы различить два файла, рекомендуем изменить название,

так, чтобы было понятно какой файл новый, а какой старый

Комплексное IT обслуживание вашего бизнеса

  • Обслуживание сетей
  • Обслуживание 1С
  • IT обслуживание
  • Абонентское обслуживание компьютеров
  • ИТ Аудит
  • Перевод офиса на удаленную работу
  • Расчет стоимости
  • Реклама в Cоц. сетях
  • Реклама в Facebook
  • Реклама в Google Ads
  • Реклама в Instagram
  • Реклама в Вконтакте
  • Реклама в Одноклассниках
  • Реклама в Яндекс Директ
  • Разработка сайта автозапчастей
  • Разработка сайта шин и дисков
  • Разработка сайта-каталога
  • Разработка сайта интернет магазинов
  • SEO продвижение
  • Контекстная реклама
  • Помощь в регистрации хостинга и домена
  • Разработка калькуляторов
  • Разработка мобильной версии сайта
  • Разработка прототипа сайта
  • Разработка сайтов
  • Редизайн сайта
  • Веб-дизайн

IT-отдел: Трамвайный пр. 12/2

Веб-отдел: Комендантский проспект, 28к1

Информация на сайте приведена в качестве справочной и не является договором оферты
Отправляя любую форму на сайте Вы соглашаетесь на обработку Ваших персональных данных

Вас не устраиват наши условия и тарифы?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *