Бесплатная библиотека Node.js для создания и чтения файлов Excel XLSX
Открытый исходный код Node.js парсер/генератор Excel XLSX, позволяющий разработчикам создавать, изменять, проверять и читать файлы Excel (.xlsx) в Node.js и веб‑браузере с поддержкой шифрования.
Что такое XLSX-Populate?
Файлы XLSX давно являются основой в мире электронных таблиц, предоставляя удобный способ хранения и манипулирования данными. При работе с файлами Excel через код библиотека XLSX-Populate выделяется как отличный инструмент. Созданная для JavaScript, XLSX-Populate позволяет разработчикам создавать, редактировать, читать и управлять файлами Excel (.xlsx) без необходимости в MS Excel или другом внешнем программном обеспечении. Этот инструмент полезен для веб‑приложений, которым требуется создание отчетов, панелей мониторинга или любых задач, связанных с электронными таблицами.
XLSX-Populate – удобная библиотека, созданная для упрощения работы с файлами Excel XLSX. Её цель – предоставить простой, но мощный интерфейс для работы с файлами Excel, подходящий как для разработчиков-новичков, так и для опытных программистов. В отличие от других библиотек, предлагающих ограниченный набор функций, эта библиотека поддерживает широкий спектр возможностей, давая вам полный контроль над документами Excel. Вы можете создавать новые книги Excel с нуля, добавлять, удалять или переименовывать листы, загружать существующие файлы .xlsx, читать и записывать отдельные ячейки, устанавливать формулы ячеек, обширно стилизовать ячейки, управлять диапазонами ячеек, задавать правила проверки данных, применять условное форматирование и многое другое.
Работа с XLSX-Populate — сплошное удовольствие. Он без проблем работает как в Node.js, так и в веб‑браузерах, что делает его универсальным для различных приложений. Обработка больших файлов Excel иногда может замедлять работу, но этот инструмент создан для скорости и эффективности. Он отлично справляется с большими объёмами данных, обеспечивая быстрое и безошибочное чтение, запись и редактирование ячеек. По сути, эта библиотека — первоклассный ресурс для разработчиков, которым нужно работать с файлами Excel через код. Широкий набор функций, удобный интерфейс и гибкость делают её отличным выбором для специалистов по ПО и разработчиков, как вы.
Начало работы с XLSX-Populate
Рекомендуемый способ установки XLSX-Populate — использовать npm; пожалуйста, выполните следующий скрипт для гладкой установки.
Установите XLSX-Populate через npm
npm install xlsx-populateВы можете скачать скомпилированную общую библиотеку из репозитория GitHub и установить её.
Создание и модификация книги XLSX в Node.js
Открытый исходный код библиотеки XLSX-Populate предоставляет полную и надёжную функциональность для создания новых книг Excel с нуля, а также изменения существующих в приложениях Node.js. Это включает возможность добавлять, переименовывать и удалять листы в книге, предоставляя пользователям полный контроль над структурой их файлов Excel XLSX. Ниже представлен очень простой пример, показывающий, как разработчики могут заполнять данными книгу и получать доступ к листам и ячейкам внутри книги для их изменения. В среде Node.js.
Как загрузить данные в книгу XLSX и изменить её с помощью библиотеки Node.js?
const XlsxPopulate = require('xlsx-populate');
// Load a new blank workbook
XlsxPopulate.fromBlankAsync()
.then(workbook => {
// Modify the workbook.
workbook.sheet("Sheet1").cell("A1").value("This is neat!");
// Write to file.
return workbook.toFileAsync("./out.xlsx");
});
Применение стиля и форматирования к файлу XLSX в Node.js
Помимо базовых значений ячеек и формул, библиотека XLSX-Populate превосходит в возможностях стилизации и форматирования в среде Node.js. Разработчики могут объединять ячейки, применять стили границ, устанавливать выравнивание ячеек, а также применять форматирование rich‑text в ячейках, включая несколько шрифтов, цветов и стилей в одной ячейке. Также поддерживается условное форматирование, что позволяет динамически менять стили ячеек в зависимости от их значений, облегчая выделение важных тенденций данных и выбросов. Ниже приведён простой пример кода для установки и получения стиля ячейки в приложениях Node.js.
Как получить/установить стиль ячейки листа в приложениях Node.js?
// Get a single style
const bold = cell.style("bold"); // true
// Get multiple styles
const styles = cell.style(["bold", "italic"]); // { bold: true, italic: true }
// Set a single style
cell.style("bold", true);
// Set multiple styles
cell.style({ bold: true, italic: true });
Манипуляция ячейками листа в приложениях Node.js
Одной из основных функций открытой библиотеки XLSX-Populate является её широкая поддержка работы с данными внутри ячеек листа. Разработчики могут легко задавать и получать значения ячеек, которые могут быть числами, строками, датами или даже rich‑text. Кроме того, библиотека поддерживает форматирование ячеек, позволяя настраивать стили шрифтов, размеры, цвета и многое другое. Это необходимо для создания профессиональных и удобочитаемых таблиц. Ниже приведён очень полезный пример, показывающий, как установить в ячейке rich‑text в приложениях Node.js.
Как установить ячейку листа как Rich Text в приложениях Node.js?
const RichText = require('xlsx-Populate').RichText;
const cell = workbook.sheet(0).cell('A1');
// set a cell value to rich text
cell.value(new RichText());
// add two rich text fragments
cell.value()
.add('hello ', { italic: true, bold: true })
.add('world!', { fontColor: 'FF0000' });
Проверка данных в файлах Excel XLSX в Node.js
Валидация данных — важная функция для обеспечения целостности и точности данных в файлах Excel. Открытая библиотека XLSX-Populate упрощает разработчикам установку правил валидации данных в ячейках их приложений Node.js. Это включает выпадающие списки, числовые ограничения и другие критерии валидации, помогающие предотвратить ошибки ввода. Ниже приведён пример, показывающий, как разработчик может установить/получить валидацию данных в среде Node.js.
Как получить/установить проверку данных на листе Excel XLSX в приложениях Node.js?
// Set the data validation
cell.dataValidation({
type: 'list',
allowBlank: false,
showInputMessage: false,
prompt: false,
promptTitle: 'String',
showErrorMessage: false,
error: 'String',
errorTitle: 'String',
operator: 'String',
formula1: '$A:$A',//Required
formula2: 'String'
});
//Here is a short version of the one above.
cell.dataValidation('$A:$A');
// Get the data validation
const obj = cell.dataValidation(); // Returns an object
// Remove the data validation
cell.dataValidation(null); //Returns the cell