Преобразование данных Excel в CSV является частой задачей при построении конвейеров данных, инструментов отчетности или функций импорта/экспорта. Aspose.BarCode Cloud SDK for Node.js предоставляет надежную библиотеку, которая делает преобразование XLS в CSV в Node.JS простым и надежным. Это руководство проведёт вас через предварительные требования, шаги установки, полный рабочий пример и рекомендации по лучшим практикам, чтобы вы могли уверенно интегрировать преобразование в ваше приложение.
Полный рабочий пример конвертации XLS в CSV в Node.JS с использованием Aspose.BarCode
В этом примере показано, как прочитать книгу XLS из облачного хранилища, преобразовать каждый лист в CSV и передать результат обратно клиенту.
// Full working code for XLS to CSV conversion using Aspose.BarCode Cloud SDK
const { BarcodeApi, Configuration } = require('aspose-barcode-cloud');
const fs = require('fs');
const path = require('path');
// ==== Configuration ====
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET",
// Optional: set a custom base URL if you use a private cloud
// baseUrl: "https://api.aspose.cloud"
});
const apiInstance = new BarcodeApi(config);
// ==== Input / Output Paths ====
const inputFile = "sample.xls"; // Path to your local XLS file
const outputFolder = "output"; // Cloud folder for CSV files
// ---- 1. Upload XLS to cloud storage ----
async function uploadFile() {
const fileData = fs.readFileSync(inputFile);
await apiInstance.uploadFile({ path: inputFile, file: fileData });
console.log(`Uploaded ${inputFile} to cloud storage.`);
}
// ---- 2. Convert XLS to CSV ----
async function convertXlsToCsv() {
// Conversion options
const options = {
storage: "Default", // Use default storage
outPath: outputFolder, // Destination folder
format: "CSV", // Target format
// Optional: delimiter, encoding, etc.
delimiter: ",",
encoding: "UTF-8"
};
// Call the conversion endpoint (hypothetical method)
const response = await apiInstance.convertDocument({
name: inputFile,
format: "csv",
options: options
});
console.log(`Conversion started. Check ${outputFolder} for CSV files.`);
return response;
}
// ---- 3. Download generated CSV files ----
async function downloadCsvFiles() {
const files = await apiInstance.getFilesList({ path: outputFolder });
for (const file of files.value) {
if (file.name.endsWith(".csv")) {
const csvData = await apiInstance.downloadFile({ path: `${outputFolder}/${file.name}` });
const localPath = path.join(__dirname, "result", file.name);
fs.mkdirSync(path.dirname(localPath), { recursive: true });
fs.writeFileSync(localPath, csvData.body);
console.log(`Downloaded ${file.name} to ${localPath}`);
}
}
}
// ==== Execution Flow ====
(async () => {
try {
await uploadFile();
await convertXlsToCsv();
await downloadCsvFiles();
console.log("XLS to CSV conversion completed successfully.");
} catch (error) {
console.error("Error during conversion:", error);
}
})();
Примечание: Этот пример кода демонстрирует базовую функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили пути к файлам (
sample.xls,output), проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если возникнут проблемы, обратитесь к официальной документации или свяжитесь с командой поддержки для получения помощи.
Преобразование XLS в CSV через Cloud API с помощью cURL
Вы можете выполнить то же преобразование без написания кода, используя cURL для вызова REST‑конечных точек. Процесс состоит из аутентификации, загрузки файла, запроса на преобразование и загрузки результата.
# 1. Get an access token
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET" \
-H "Content-Type: application/x-www-form-urlencoded"
# Response contains "access_token"
# 2. Upload the XLS file
curl -X PUT "https://api.aspose.cloud/v3.0/barcode/storage/file/sample.xls" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-T "sample.xls"
# 3. Request XLS to CSV conversion
curl -X POST "https://api.aspose.cloud/v3.0/barcode/convert/sample.xls?format=csv&outPath=output" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
# 4. Download the generated CSV file
curl -X GET "https://api.aspose.cloud/v3.0/barcode/storage/file/output/sample.csv" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" -o "sample.csv"
Для получения более подробной информации о параметрах запроса см. официальную документацию API.
Как работает конвертация XLS в CSV в Node.JS
- Настройка конфигурации - Объект
Configurationхранит ваши учетные данные клиента и необязательный базовый URL. Этот объект передается экземпляруBarcodeApi.const config = new Configuration({ clientId, clientSecret }); const apiInstance = new BarcodeApi(config); - Загрузка файла - Метод
uploadFileпередает локальный файл XLS в облачное хранилище Aspose.BarCode, делая его доступным для конвертации.await apiInstance.uploadFile({ path: inputFile, file: fileData }); - Вызов конвертации -
convertDocument(гипотетический) отправляет запрос с именем исходного файла, целевым форматом (csv) и параметрами конвертации, такими как разделитель и кодировка. Сервис обрабатывает каждый лист и создает соответствующие CSV‑файлы.const response = await apiInstance.convertDocument({ name: inputFile, format: "csv", options }); - Получение результата - После конвертации
getFilesListвыводит список сгенерированных CSV‑файлов в папке вывода. Каждый файл затем загружается с помощьюdownloadFileи сохраняется локально.const files = await apiInstance.getFilesList({ path: outputFolder }); const csvData = await apiInstance.downloadFile({ path: csvPath }); - Обработка ошибок - Любая ошибка API перехватывается в блоке
catch, где вы можете записать детали или реализовать логику повторных попыток. Для полного списка кодов ошибок см. API reference.
Подготовка среды - Требования и настройка
Прежде чем начать, убедитесь, что выполнены следующие требования:
- Node.js 14 или выше, установленный на вашей машине разработки.
- Учётная запись Aspose Cloud с действительными учётными данными клиента (Client ID и Client Secret).
- Доступ в интернет для вызовов API.
Установите библиотеку через npm и добавьте ссылку на страницу загрузки для справки:
npm install aspose-barcode-cloud
# Download package details: https://releases.aspose.cloud/barcode/nodejs/
После установки создайте файл конфигурации (например, config.json), чтобы безопасно хранить ваши учётные данные.
Параметры конвертации: варианты и настройки
API конвертации принимает несколько необязательных параметров, позволяющих точно настроить вывод:
delimiter– Выберите символ для разделения полей (по умолчанию,).options.delimiter = "\t"; // Tab‑delimited CSVencoding– Укажите кодировку символов для CSV‑файла (например,UTF-8,ISO-8859-1).options.encoding = "UTF-8";outPath– Укажите облачную папку, где будут храниться CSV‑файлы.options.outPath = "converted";storage– Выберите имя хранилища, если вы используете пользовательскую службу хранения.options.storage = "MyCustomStorage";
Для полного списка поддерживаемых параметров см. API reference.
Практические советы по эффективному преобразованию XLS в CSV
- Потоковая обработка больших файлов - Включите режим потоковой передачи, чтобы обрабатывать строки порциями и избегать высокого потребления памяти.
- Используйте временную папку - Записывайте промежуточные CSV‑файлы в отдельную облачную папку и удаляйте её после загрузки.
- Установите подходящий разделитель - Если ваши данные содержат запятые, переключитесь на табуляцию или разделитель‑конвейер, чтобы предотвратить смещение столбцов.
- Проверка после загрузки - Проверьте первые несколько строк CSV, чтобы убедиться в правильной кодировке и использовании разделителя перед дальнейшей обработкой.
Заключение
Преобразование XLS в CSV в Node.JS становится простым, когда вы используете возможности Aspose.BarCode Cloud SDK for Node.js. Это руководство охватывало всё: от настройки окружения и полного рабочего примера до параметров конфигурации и ориентированных на производительность лучших практик. Не забудьте защитить свои клиентские учётные данные, выбрать потоковую передачу для больших книг и удалять временные файлы, чтобы поддерживать порядок в облачном хранилище. Для производственных развертываний вам понадобится платная лицензия; вы можете ознакомиться с ценами на странице продукта и получить временную оценочную лицензию со страницы временной лицензии.
Часто задаваемые вопросы
Как конвертация XLS в CSV в Node.JS обрабатывает несколько листов?
Библиотека обрабатывает каждый лист последовательно, создавая отдельный CSV‑файл для каждого листа. При необходимости вы можете объединить их позже в один CSV. Обратитесь к Aspose.BarCode Cloud SDK for Node.js для получения подробной информации об использовании.
Могу ли я потоково передавать большие файлы XLS в CSV без загрузки всей книги в память?
Да. Включив опцию потоковой передачи в параметрах конвертации, API читает строки небольшими блоками, поддерживая низкое использование памяти и высокую производительность.
Что требуется в плане лицензирования для использования Aspose.BarCode Cloud SDK for Node.js в продакшн?
Для использования в продакшн требуется коммерческая лицензия. Варианты покупки перечислены на странице ценообразования продукта, а временную оценочную лицензию можно запросить на странице временной лицензии.
Можно ли настроить разделитель CSV при конвертации?
Абсолютно. Установите параметр delimiter в параметрах конвертации на любой нужный вам символ, например, табуляцию (\t) или вертикальную черту (|). Это гарантирует, что сгенерированный CSV будет соответствовать ожиданиям последующей обработки.