Чтение CSV файла с различными кодировками с помощью Node.js через C++

Для этого используйте свойство TxtLoadOptions.isMultiEncoded(), установив его в значение true для правильной загрузки CSV с несколькими кодировками.

На следующем скриншоте показан пример CSV-файла, который содержит две строки. Первая строка в кодировке ANSI, а вторая строка в кодировке Unicode.

Входной файл
todo:image_alt_text

Следующий снимок показывает файл XLSX, преобразованный из вышеуказанного CSV-файла без установки свойства TxtLoadOptions.isMultiEncoded() в true. Как видите, Unicode-текст был преобразован неправильно.

Файл вывода 1: не предусмотрены множественные кодировки
todo:image_alt_text

Следующий скриншот показывает XLSX-файл, преобразованный из указанного CSV-файла после установки свойства TxtLoadOptions.isMultiEncoded() в true. Теперь Unicode-текст отображается правильно.

Файл вывода 2: IsMultiEncoded установлен в true
todo:image_alt_text

Ниже приведен образец кода, преобразующий вышеуказанный файл CSV в формат XLSX правильно.

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, "MultiEncoded.csv");

// Set Multi Encoded Property to True
const options = new AsposeCells.TxtLoadOptions();
options.setIsMultiEncoded(true);

// Load the CSV file into Workbook
const workbook = new AsposeCells.Workbook(filePath, options);

// Save it in XLSX format
workbook.save(path.join(dataDir, "MultiEncoded.csv.out.xlsx"), AsposeCells.SaveFormat.Xlsx);

Связанные статьи