Чтение CSV файла с несколькими кодировками с помощью C++
Для этого используйте свойство TxtLoadOptions.IsMultiEncoded, установив его в значение true для правильной загрузки CSV с несколькими кодировками.
Следующий снимок показывает пример CSV-файла, содержащего две строки. Первая строка в кодировке ANSI, вторая — в кодировке Unicode.
Входной файл |
---|
![]() |
Следующий снимок показывает файл XLSX, преобразованный из вышеуказанного CSV-файла без установки свойства TxtLoadOptions.IsMultiEncoded в true. Как видите, Unicode-текст был преобразован неправильно.
Файл вывода 1: не предусмотрены множественные кодировки |
---|
![]() |
Следующий снимок показывает файл XLSX, преобразованный из вышеуказанного CSV-файла после установки свойства TxtLoadOptions.IsMultiEncoded в true. Как видите, Unicode-текст теперь преобразован правильно.
Файл вывода 2: IsMultiEncoded установлен в true |
---|
![]() |
Ниже приведен образец кода, преобразующий вышеуказанный файл CSV в формат XLSX правильно.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Path of input CSV file
U16String filePath = srcDir + u"MultiEncoded.csv";
// Create TxtLoadOptions and set MultiEncoded property to true
TxtLoadOptions options;
options.SetIsMultiEncoded(true);
// Load the CSV file into Workbook with the specified options
Workbook workbook(filePath, options);
// Save the workbook in XLSX format
workbook.Save(filePath + u".out.xlsx", SaveFormat::Xlsx);
std::cout << "File converted successfully!" << std::endl;
Aspose::Cells::Cleanup();
}