Импорт XML в Excel в Node.js

Импорт данных XML в файл Excel.

Расширяемый язык разметки — широко используемый формат файлов для представления данных. Это очень эффективно, когда речь идет о передаче данных из одной базы данных в другую без какой-либо критической потери данных, а теги используются для структурирования XML-документа. С другой стороны, предприятия используют таблицы Excel, поскольку они предлагают широкие возможности хранения данных. В этом сообщении блога мы узнаем, как установить библиотеку для работы с форматами файлов и преобразования, а также покажем, как программно импортировать XML в Excel в Node.js.

Мы рассмотрим следующие моменты:

Библиотека Node.js для импорта XML в Excel

Aspose.Cells для Node.js основан на Aspose.Cells для Java, который обеспечивает преобразование файла листа Excel, стили, экспорт/импорт данных (например, файл XML в Excel) и многие другие возможности. Прежде всего, имеется исчерпывающая документация с примерами фрагментов кода.

Как настроить Aspose.Cells в проекте Node.js?

В этом разделе мы рассмотрим шаги по включению Aspose.Cells for Node.js на локальном компьютере. Вы можете посетить docs, чтобы узнать об инструкциях по установке для вашей операционной системы.

Я использую macOS, поэтому я выполню следующие шаги для настройки Aspose.Cells.

Предпосылки:

  1. Node.js
  2. Оракул JDK 1.8
  3. Питон

После установки необходимых компонентов выполните следующую команду, чтобы установить Aspose.Cells из Npm.

npm install aspose.cells

Кроме того, выполните следующую команду, чтобы включить Java в проекте Node.js.

npm install java

Вот и все. Теперь вы готовы приступить к написанию кода для импорта XML-данных в лист Excel.

Импорт XML в Excel в Node.js

Фрагмент кода будет содержать следующие классы и методы для программного импорта XML-файла в электронную таблицу Excel.

  1. Импортируйте и создайте объект класса Cells.
  2. Создайте поток чтения исходного файла (например, XML-файла) с помощью модуля fs.
  3. Вызовите этот метод createWorkbookFromStream(stream, callback) класса Workbook, чтобы создать Workbook на основе потока данных файла.
  4. Сохраните файл, используя метод save(fileName).

Теперь откройте основной файл вашего проекта и вставьте следующий фрагмент кода, который программно импортирует XML-данные в Excel.

// создать лист из потока (например, xml в xlsx)
var aspose = aspose || {};

//подключите модуль aspose.cells к вашему проекту.
aspose.cells = require("aspose.cells");

// загрузить модуль fs для чтения/записи файлов
var fs = require("fs");

// создает поток чтения исходного файла
var readStream = fs.createReadStream("myxml.xml");

// принимает поток данных и заполняет/импортирует данные XML в файл Excel
aspose.cells.Workbook.createWorkbookFromStream(readStream, function(workbook, err) {

  if (err) {
      console.log("open workbook error");
      return;
  }

// сохранить файл 
  workbook.save('result.xlsx');
  console.log('Successfully imported XML file to Excel');
});

В приведенном выше фрагменте кода видно, что я поместил исходный XML-файл с именем myxml.xml в свой корневой каталог. Однако у вас должен быть исходный XML-файл, который вы хотите импортировать в лист Excel.

Наконец, запустите сервер, и функция импорта XML-данных в Excel должна успешно выполниться. Кроме того, вы можете увидеть результат этого метода на изображении ниже.

Импорт XML в Excel в Node.js

Импорт данных XML в электронную таблицу Excel

Получить бесплатную лицензию

Пожалуйста, не стесняйтесь получить бесплатную временную лицензию для использования Aspose.Cells для Node.js за рамками ознакомительных ограничений.

Вывод

Это подводит нас к концу этого сообщения в блоге. Мы рассмотрели весь процесс импорта XML в Excel в Node.js. Эта статья наверняка поможет вам, если вы хотите выбрать библиотеку Node.js для импорта данных XML в файл Excel. Кроме того, conholdate.com находится в постоянном процессе написания статей на другие интересные темы. Поэтому, пожалуйста, оставайтесь на связи для регулярных обновлений.

Задайте вопрос

Не стесняйтесь посетить наш форум, который очень активно отвечает на вопросы и вопросы/обсуждения.

Смотрите также