Lettura di file CSV con più encodings con C++

Aspose.Cells fornisce la proprietà TxtLoadOptions.IsMultiEncoded, che devi impostare su true per caricare correttamente il tuo file CSV con più encodings.

Lo screenshot seguente mostra un esempio di file CSV che contiene due righe. La prima riga è codificata in ANSI e la seconda riga in Unicode.

File di input
todo:image_alt_text

Lo screenshot seguente mostra il file XLSX convertito dal file CSV sopra senza impostare la proprietà TxtLoadOptions.IsMultiEncoded su true. Come puoi vedere, il testo Unicode non è stato convertito correttamente.

File di output 1: nessuna modifica per la codifica multipla
todo:image_alt_text

Lo screenshot seguente mostra il file XLSX convertito dal file CSV sopra dopo aver impostato la proprietà TxtLoadOptions.IsMultiEncoded su true. Come puoi vedere, il testo Unicode ora è stato convertito correttamente.

File di output 2: IsMultiEncoded è impostato su true
todo:image_alt_text

Di seguito è riportato il codice di esempio che converte il precedente file CSV nel formato XLSX correttamente.

#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();
}

Articoli correlati