Различные способы сохранения файлов с помощью Node.js через C++

Различные способы сохранения файлов

Aspose.Cells предоставляет Workbook, который представляет файл Microsoft Excel и содержит свойства и методы, необходимые для работы с файлами Excel. Класс Workbook обеспечивает метод Workbook.save(string, SaveFormat), используемый для сохранения файлов Excel. Метод Workbook.save(string, SaveFormat) имеет множество перегрузок, которые позволяют сохранять файлы различными способами.

Формат файла, в который сохраняется файл, определяется перечислением SaveFormat

Типы форматов файлов Описание
CSV Представляет собой файл CSV
Excel97To2003 Представляет файл Excel 97 - 2003
Xlsx Представляет файл Excel 2007 XLSX
Xlsm Представляет файл Excel 2007 XLSM
Xltx Представляет шаблон файла Excel 2007 XLTX
Xltm Представляет макросов Excel 2007 XLTM
Xlsb Представляет двоичный файл Excel 2007 XLSB
SpreadsheetML Представляет файл XML электронной таблицы
TSV Представляет собой файл значений, разделенных табуляцией
TabDelimited Представляет файл текста с табуляцией
ODS Представляет собой файл ODS
Html Представляет файл(ы) HTML
MHtml Представляет файл(ы) MHTML
Pdf Представляет файл PDF
XPS Представляет документ XPS
TIFF Представляет файл формата Tagged Image File Format (TIFF)

Как сохранить файл в разных форматах

Чтобы сохранить файлы в хранилище, укажите имя файла (с полным путем хранения) и желаемый формат файла (из перечисления SaveFormat) при вызове метода Workbook.save(string, SaveFormat) объекта Workbook.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "Book1.xls");

// Load your source workbook
const workbook = new AsposeCells.Workbook(filePath);

// Save in Excel 97 to 2003 format
workbook.save(path.join(dataDir, ".output.xls"));
// OR
workbook.save(path.join(dataDir, ".output.xls"), new AsposeCells.XlsSaveOptions());

// Save in Excel 2007 xlsx format
workbook.save(path.join(dataDir, ".output.xlsx"), AsposeCells.SaveFormat.Xlsx);

// Save in Excel 2007 xlsb format
workbook.save(path.join(dataDir, ".output.xlsb"), AsposeCells.SaveFormat.Xlsb);

// Save in ODS format
workbook.save(path.join(dataDir, ".output.ods"), AsposeCells.SaveFormat.Ods);

// Save in Pdf format
workbook.save(path.join(dataDir, ".output.pdf"), AsposeCells.SaveFormat.Pdf);

// Save in Html format
workbook.save(path.join(dataDir, ".output.html"), AsposeCells.SaveFormat.Html);

// Save in SpreadsheetML format
workbook.save(path.join(dataDir, ".output.xml"), AsposeCells.SaveFormat.SpreadsheetML);

Как сохранить книгу в Pdf

Формат документа Portable Document Format (PDF) — это тип документа, созданный Adobe в 1990-х годах. Цель этого формата — внедрить стандарт для представления документов и другого справочного материала в формате, независимом от программного обеспечения, аппаратных средств и операционной системы. Формат PDF полностью способен содержать информацию, такую как текст, изображения, гиперссылки, поля формы, богатые медиа, цифровые подписи, вложения, метаданные, геопространственные функции и 3D-объекты, которые могут стать частью исходного документа.

Следующий код показывает, как сохранить рабочую книгу в формате PDF с помощью Aspose.Cells:

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);

// Set value to Cell.
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");

const saveFilePath = path.join(dataDir, "pdf1.pdf");
workbook.save(saveFilePath);

// Save as Pdf format compatible with PDFA-1a
const saveOptions = new AsposeCells.PdfSaveOptions();
saveOptions.setCompliance(AsposeCells.PdfCompliance.PdfA1a);

const pdfAFilePath = path.join(dataDir, "pdfa1a.pdf");
workbook.save(pdfAFilePath, saveOptions);

Как сохранить книгу в формате текста или CSV

Иногда вам может потребоваться конвертировать или сохранить книгу с несколькими листами в текстовом формате. Для текстовых форматов (например, TXT, TabDelim, CSV и т. д.) как Microsoft Excel, так и Aspose.Cells по умолчанию сохраняют только содержимое активного листа.

Следующий пример кода показывает, как сохранить всю рабочую книгу в текстовом формате. Загрузите исходную рабочую книгу, которая может быть любым файлом таблицы Microsoft Excel или OpenOffice (например, XLS, XLSX, XLSM, XLSB, ODS и др.) с любым количеством листов.

При выполнении кода он преобразует данные всех листов рабочей книги в формат TXT

Вы можете изменить тот же пример для сохранения файла в формате CSV. По умолчанию TxtSaveOptions.getSeparator() — запятая, поэтому не указывайте разделитель при сохранении в CSV. Обратите внимание: если вы используете версию для оценки, и даже если свойство TxtSaveOptions.getExportAllSheets() установлено в true, программа все равно экспортирует только один лист.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Load your source workbook
const workbook = new AsposeCells.Workbook(path.join(dataDir, "book1.xls"));

// Text save options. You can use any type of separator
const opts = new AsposeCells.TxtSaveOptions();
opts.setSeparator('\t');
opts.setExportAllSheets(true);

// Save entire workbook data into file
workbook.save(path.join(dataDir, "out.txt"), opts);

Как сохранить файл в текстовые файлы с пользовательским разделителем

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

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "Book1.xlsx");

// Create a Workbook object and opening the file from its path
const wb = new AsposeCells.Workbook(filePath);

// Instantiate Text File's Save Options
const options = new AsposeCells.TxtSaveOptions();

// Specify the separator
options.setSeparator(";");

// Save the file with the options
wb.save(path.join(dataDir, "output.csv"), options);

Как сохранить файл в поток

Чтобы сохранить файлы в поток, создайте объект MemoryStream или FileStream и сохраните файл в этот поток, вызвав метод Workbook.save(string, SaveFormat) объекта Workbook. Укажите желаемый формат файла с помощью перечисления SaveFormat при вызове метода Workbook.save(string, SaveFormat).

const path = require("path");
const AsposeCells = require("aspose.cells.node");

async function downloadExcel(req, res) {
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "Book1.xlsx");
// Load your source workbook
const workbook = new AsposeCells.Workbook(filePath);
// Save the workbook to a memory stream
const stream = workbook.save(AsposeCells.SaveFormat.Xlsx);

// Set the content type and file name
const contentType = "application/octet-stream";
const fileName = "output.xlsx";

// Set the response headers
res.setHeader("Content-Disposition", `attachment; filename="${fileName}"`);
res.setHeader("Content-Type", contentType);

// Write the file contents to the response body stream
res.send(stream);
}

Как сохранить файл Excel в файлы Html и Mht

Aspose.Cells может просто сохранять файл Excel, JSON, CSV или другие файлы, которые можно загрузить с помощью Aspose.Cells как .html и .mht файлы.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "Book1.xlsx");

// Load your source workbook
const workbook = new AsposeCells.Workbook(filePath);

// Save file to mhtml format
workbook.save("out.mht");

Как сохранить файл Excel в форматы OpenOffice (ODS, SXC, FODS, OTS)

Мы можем сохранять файлы в формат OpenOffice: ODS, SXC, FODS, OTS и др.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");

// Load your source workbook
const workbook = new AsposeCells.Workbook(path.join(dataDir, "book1.xlsx"));
// Save as ods file 
workbook.save("Out.ods");
// Save as sxc file 
workbook.save("Out.sxc");
// Save as fods file 
workbook.save("Out.fods");

Как сохранить файл Excel в формат JSON или XML

JSON (JavaScript Object Notation) – это открытый стандартный файловый формат для обмена данными, который использует удобочитаемый текст для хранения и передачи данных. JSON-файлы сохраняются с расширением .json. JSON требует меньше форматирования и является хорошей альтернативой XML. JSON происходит из JavaScript, но является независимым от языка форматом данных. Создание и разбор JSON поддерживается многими современными языками программирования. application/json – это тип медиа-формат, используемый для JSON.

Aspose.Cells поддерживает сохранение файлов в форматах JSON или XML.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "Book1.xlsx");

// Load your source workbook
const workbook = new AsposeCells.Workbook(filePath);

// Convert the workbook to json file.
workbook.save(path.join(dataDir, "book1.json"));

Продвинутые темы