Converti Excel in CSV e CSV in Excel usando C++

Excel è un formato popolare per la condivisione di informazioni. Potresti trovarti in situazioni in cui hai dati in un file Excel(XLS o XLSX) che devi importare in un database. Per questo, dovresti convertire il file Excel nel formato CSV. D’altra parte, potresti avere dati in formato CSV esportati da un database che devi manipolare ulteriormente in un file Excel. In questi casi, dovrai convertire il file CSV in formato Excel. In questo articolo imparerai come eseguire entrambe queste conversioni a livello di codice usando C++.

API C++ per convertire file Excel in CSV e file CSV in formato Excel

Aspose.Cells for C++ è una libreria C++ nativa che consente di creare, leggere e modificare file Excel. Inoltre, l’API supporta la conversione di file Excel in formato CSV e viceversa. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.

PM> Install-Package Aspose.Cells.Cpp

Conversione di file Excel in formato CSV utilizzando C++

La conversione di file Excel in formato CSV è un gioco da ragazzi con Aspose.Cells per l’API C++. Di seguito sono riportati i passaggi per convertire i file Excel in formato CSV utilizzando C++.

Di seguito è riportato il codice di esempio per convertire i file Excel in formato CSV.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Carica il file Excel di input
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Salva il file CSV di output
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);

Converti fogli di lavoro Excel in file CSV

L’esempio precedente converte solo il primo foglio di lavoro se il file Excel contiene più fogli di lavoro. Nel caso in cui desideri convertire più fogli di lavoro in formato CSV, puoi seguire i seguenti passaggi.

Di seguito è riportato il codice di esempio per convertire i fogli di lavoro di Excel in file CSV utilizzando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Carica il file Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Recupera i fogli di lavoro della cartella di lavoro.
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// Crea un oggetto generatore di stringhe per le concatenazioni di stringhe.
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();

for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
	// Recupera il foglio di lavoro da copiare
	intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);

	// Crea un'istanza della classe IWorkbook per rappresentare la nuova cartella di lavoro
	intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();

	// Copia il foglio di lavoro recuperato in precedenza nella nuova cartella di lavoro
	newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);

	// Cancella il generatore di stringhe e crea un percorso di output con concatenazioni di stringhe.
	stringBuilder->Clear();
	stringBuilder->Append(outDir);
	stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
	stringBuilder->Append(sheet);
	stringBuilder->Append((StringPtr)new String("_out.csv"));

	// Salva il file CSV di output
	newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}

Conversione di file CSV in formato Excel utilizzando C++

Di seguito sono riportati i passaggi per convertire i file CSV in formato Excel utilizzando C++.

Di seguito è riportato il codice di esempio per convertire i file CSV in formato Excel utilizzando C++.

// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\");

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Crea un oggetto LoadOptions CSV
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// Carica il file Excel di input
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// Salva il file CSV di output
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_Xlsx);

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come convertire i file Excel in formato CSV e i file CSV in formato Excel (XLS/XLSX) usando C++. Aspose.Cells per C++ è una vasta API che fornisce molte funzionalità aggiuntive per lavorare con i file Excel. Puoi esplorare l’API in dettaglio utilizzando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.

Guarda anche