Excel 是一種流行的信息共享格式。您可能會發現自己的 Excel(XLS 或 XLSX)文件中有數據需要導入數據庫。為此,您需要將 Excel 文件轉換為 CSV 格式。另一方面,您可能有從數據庫導出的 CSV 格式的數據,您需要在 Excel 文件中進一步操作這些數據。對於這種情況,您需要將 CSV 文件轉換為 Excel 格式。在本文中,您將了解如何使用 C++ 以編程方式執行這兩種轉換。
- 用於將 Excel 文件轉換為 CSV 以及將 CSV 文件轉換為 Excel 格式的 C++ API
- 使用 C++ 將 Excel 文件轉換為 CSV 格式
- 將 Excel 工作表轉換為 CSV 文件
- 使用 C++ 將 CSV 文件轉換為 Excel 格式
- 獲得免費許可證
用於將 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 格式的步驟。
- 使用 IWorkbook 類加載 Excel 文件。
- 使用 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String文件名,Aspose::Cells::SaveFormat saveFormat) 方法。
以下是將 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 格式,可以按照以下步驟操作。
- 使用 IWorkbook 類加載 Excel 文件。
- 使用 IWorkbook->GetIWorksheets() 方法檢索工作表。
- 遍歷檢索到的工作表。
- 在循環中,您可以指定自定義邏輯以將特定工作表轉換為 CSV 文件。在此演示中,所有工作表都轉換為 CSV 文件。
- 使用 IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 方法檢索要轉換的工作表。
- 創建 IWorkbook 類的實例以表示新的 CSV 文件。
- 使用 IWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy (intrusiveptrAspose::Cells::IWorksheet sourceSheet) 方法。
- 使用 IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String文件名,Aspose::Cells::SaveFormat saveFormat) 方法。
以下是使用 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 格式的步驟。
- 創建 ILoadOptions 類的實例。
- 使用之前創建的 ILoadOptions 實例創建 IWorkbook 類的對象。
- 使用 IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String文件名,Aspose::Cells::SaveFormat saveFormat) 方法。
以下是使用 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。如有任何疑問,請隨時通過我們的 免費支持論壇 與我們聯繫。