Konvertera Excel till CSV och CSV till Excel med C++

Excel är ett populärt format för att dela information. Du kan hamna i situationer där du har data i en Excel(XLS eller XLSX)-fil som du behöver importera till en databas. För detta måste du konvertera Excel-filen till CSV-format. Å andra sidan kan du ha data i CSV-format exporterad från en databas som du behöver manipulera ytterligare i en Excel-fil. I sådana fall skulle du behöva konvertera CSV-filen till Excel-format. I den här artikeln kommer du att lära dig hur du utför båda dessa konverteringar programmatiskt med C++.

C++ API för att konvertera Excel-filer till CSV och CSV-filer till Excel-format

Aspose.Cells for C++ är ett inbyggt C++-bibliotek som låter dig skapa, läsa och ändra Excel-filer. Dessutom stöder API:et konvertering av Excel-filer till CSV-format och vice versa. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet Nedladdningar.

PM> Install-Package Aspose.Cells.Cpp

Konvertera Excel-filer till CSV-format med C++

Att konvertera Excel-filer till CSV-format är enkelt med Aspose.Cells för C++ API. Följande är stegen för att konvertera Excel-filer till CSV-format med C++.

Följande är exempelkoden för att konvertera Excel-filer till CSV-format.

// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\");

// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");

// Ladda indata Excel-filen
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Spara utdata CSV-fil
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);

Konvertera Excel-kalkylblad till CSV-filer

Det föregående exemplet konverterar endast det första kalkylbladet om Excel-filen innehåller flera kalkylblad. Om du vill konvertera flera kalkylblad till CSV-format kan du följa följande steg.

Följande är exempelkoden för att konvertera Excel-kalkylblad till CSV-filer med C++.

// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\");

// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");

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

// Hämta arbetsbokens arbetsblad.
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// Skapa strängbyggarobjekt för strängsammansättningar.
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();

for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
	// Hämta kalkylbladet att kopiera
	intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);

	// Skapa en instans av IWorkbook-klassen för att representera den nya arbetsboken
	intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();

	// Kopiera det tidigare hämtade kalkylbladet till den nya arbetsboken
	newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);

	// Rensa strängbyggare och skapa utdatasökväg med strängsammansättningar.
	stringBuilder->Clear();
	stringBuilder->Append(outDir);
	stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
	stringBuilder->Append(sheet);
	stringBuilder->Append((StringPtr)new String("_out.csv"));

	// Spara utdata CSV-fil
	newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}

Konvertera CSV-filer till Excel-format med C++

Följande är stegen för att konvertera CSV-filer till Excel-format med C++.

Följande är exempelkoden för att konvertera CSV-filer till Excel-format med C++.

// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\");

// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");

// Skapa CSV LoadOptions-objekt
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// Ladda indata Excel-filen
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// Spara utdata CSV-fil
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_Xlsx);

Skaffa en gratis licens

Du kan prova API utan utvärderingsbegränsningar genom att begära en gratis tillfällig licens.

Slutsats

I den här artikeln har du lärt dig hur du konverterar Excel-filer till CSV-format och CSV-filer till Excel-format (XLS/XLSX) med C++. Aspose.Cells för C++ är ett stort API som ger många ytterligare funktioner för att arbeta med Excel-filer. Du kan utforska API:et i detalj genom att använda den officiella dokumentationen. Om du har några frågor är du välkommen att kontakta oss på vårt gratis supportforum.

Se även