Převeďte Excel do CSV a CSV do Excelu pomocí C++

Excel je oblíbený formát pro sdílení informací. Můžete se ocitnout v situacích, kdy máte v souboru Excel (XLS nebo XLSX) data, která potřebujete importovat do databáze. K tomu budete muset převést soubor Excel do formátu CSV. Na druhou stranu můžete mít data ve formátu CSV exportovaná z databáze, se kterými budete muset dále manipulovat v souboru Excel. V takových případech byste museli převést soubor CSV do formátu Excel. V tomto článku se dozvíte, jak provést oba tyto převody programově pomocí C++.

C++ API pro převod souborů Excel do CSV a souborů CSV do formátu Excel

Aspose.Cells for C++ je nativní knihovna C++, která umožňuje vytvářet, číst a upravovat soubory aplikace Excel. Kromě toho API podporuje převod souborů Excel do formátu CSV a naopak. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.

PM> Install-Package Aspose.Cells.Cpp

Převod souborů Excel do formátu CSV pomocí C++

Převod souborů aplikace Excel do formátu CSV je s Aspose.Cells for C++ API hračkou. Následují kroky pro převod souborů Excel do formátu CSV pomocí C++.

Následuje ukázkový kód pro převod souborů aplikace Excel do formátu CSV.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načtěte vstupní soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Uložit výstupní soubor CSV
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);

Převeďte pracovní listy aplikace Excel do souborů CSV

Předchozí příklad převede pouze první list, pokud soubor aplikace Excel obsahuje více listů. V případě, že chcete převést více listů do formátu CSV, můžete postupovat podle následujících kroků.

Následuje ukázkový kód pro převod listů aplikace Excel na soubory CSV pomocí jazyka C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Načtěte soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Získejte listy sešitu.
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// Vytvořte objekt pro vytváření řetězců pro zřetězení řetězců.
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();

for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
	// Získejte list ke kopírování
	intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);

	// Vytvořte instanci třídy IWorkbook, která bude reprezentovat nový sešit
	intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();

	// Zkopírujte dříve načtený list do nového sešitu
	newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);

	// Vymažte tvůrce řetězců a vytvořte výstupní cestu se zřetězením řetězců.
	stringBuilder->Clear();
	stringBuilder->Append(outDir);
	stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
	stringBuilder->Append(sheet);
	stringBuilder->Append((StringPtr)new String("_out.csv"));

	// Uložit výstupní soubor CSV
	newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}

Převod souborů CSV do formátu Excel pomocí C++

Níže jsou uvedeny kroky pro převod souborů CSV do formátu Excel pomocí C++.

Následuje ukázkový kód pro převod souborů CSV do formátu Excel pomocí C++.

// Cesta ke zdrojovému adresáři.
StringPtr srcDir = new String("SourceDirectory\\");

// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");

// Vytvořte objekt CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// Načtěte vstupní soubor Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// Uložit výstupní soubor CSV
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_Xlsx);

Získejte bezplatnou licenci

Rozhraní API můžete vyzkoušet bez omezení hodnocení tím, že požádáte o bezplatnou dočasnou licenci.

Závěr

V tomto článku jste se naučili převádět soubory Excel do formátu CSV a soubory CSV do formátu Excel (XLS/XLSX) pomocí C++. Aspose.Cells for C++ je rozsáhlé API, které poskytuje mnoho dalších funkcí pro práci se soubory aplikace Excel. Rozhraní API můžete podrobně prozkoumat pomocí oficiální dokumentace. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.

Viz také