使用 C++ 將 Excel 轉換為 CSV,將 CSV 轉換為 Excel

Excel 是一種流行的信息共享格式。您可能會發現自己的 Excel(XLSXLSX)文件中有數據需要導入數據庫。為此,您需要將 Excel 文件轉換為 CSV 格式。另一方面,您可能有從數據庫導出的 CSV 格式的數據,您需要在 Excel 文件中進一步操作這些數據。對於這種情況,您需要將 CSV 文件轉換為 Excel 格式。在本文中,您將了解如何使用 C++ 以編程方式執行這兩種轉換。

用於將 Excel 文件轉換為 CSV 以及將 CSV 文件轉換為 Excel 格式的 C++ API

Aspose.Cells for C++ 是一個本地 C++ 庫,允許您創建、讀取和修改 Excel 文件。此外,API 支持將 Excel 文件轉換為 CSV 格式,反之亦然。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。

PM> Install-Package Aspose.Cells.Cpp

使用 C++ 將 Excel 文件轉換為 CSV 格式

使用 Aspose.Cells for C++ API 可以輕而易舉地將 Excel 文件轉換為 CSV 格式。以下是使用 C++ 將 Excel 文件轉換為 CSV 格式的步驟。

以下是將 Excel 文件轉換為 CSV 格式的示例代碼。

// 源目錄路徑。
StringPtr srcDir = new String("SourceDirectory\\");

// 輸出目錄路徑。
StringPtr outDir = new String("OutputDirectory\\");

// 加載輸入的 Excel 文件
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// 保存輸出 CSV 文件
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);

將 Excel 工作表轉換為 CSV 文件

如果 Excel 文件包含多個工作表,則上一個示例僅轉換第一個工作表。如果要將多個工作表轉換為 CSV 格式,可以按照以下步驟操作。

以下是使用 C++ 將 Excel 工作表轉換為 CSV 文件的示例代碼。

// 源目錄路徑。
StringPtr srcDir = new String("SourceDirectory\\");

// 輸出目錄路徑。
StringPtr outDir = new String("OutputDirectory\\");

// 加載 Excel 文件
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// 檢索工作簿的工作表。
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// 為字符串連接創建字符串生成器對象。
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();

for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
	// 檢索要復制的工作表
	intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);

	// 創建 IWorkbook 類的實例以表示新工作簿
	intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();

	// 將之前檢索到的工作表複製到新工作簿
	newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);

	// 清除字符串生成器並創建帶有字符串連接的輸出路徑。
	stringBuilder->Clear();
	stringBuilder->Append(outDir);
	stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
	stringBuilder->Append(sheet);
	stringBuilder->Append((StringPtr)new String("_out.csv"));

	// 保存輸出 CSV 文件
	newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}

使用 C++ 將 CSV 文件轉換為 Excel 格式

以下是使用 C++ 將 CSV 文件轉換為 Excel 格式的步驟。

以下是使用 C++ 將 CSV 文件轉換為 Excel 格式的示例代碼。

// 源目錄路徑。
StringPtr srcDir = new String("SourceDirectory\\");

// 輸出目錄路徑。
StringPtr outDir = new String("OutputDirectory\\");

// 創建 CSV LoadOptions 對象
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// 加載輸入的 Excel 文件
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// 保存輸出 CSV 文件
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_Xlsx);

獲得免費許可證

您可以通過申請 免費的臨時許可證 來試用沒有評估限制的 API。

結論

在本文中,您學習瞭如何使用 C++ 將 Excel 文件轉換為 CSV 格式以及將 CSV 文件轉換為 Excel (XLS/XLSX) 格式。 Aspose.Cells for C++ 是一個龐大的 API,它提供了許多用於處理 Excel 文件的附加功能。您可以使用 官方文檔 詳細探索 API。如有任何疑問,請隨時通過我們的 免費支持論壇 與我們聯繫。

也可以看看