Microsoft Excel 允許使用空格、逗號或其他字符等分隔符將文本拆分為多列。此功能在諸如將從數據庫表導出的逗號分隔數據轉換為表格形式等場景中很有用。為此,本文將教您如何使用 C++ 在 Excel 文件中將文本拆分為列。
用於在 Excel 文件中將文本拆分為列的 C++ API
我們將使用 Aspose.Cells for C++ API 將文本拆分為 Excel 文件中的列。它是一個本機 C++ 庫,允許您創建、讀取和修改 Excel 文件,而無需安裝 Microsoft Excel。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。
PM> Install-Package Aspose.Cells.Cpp
使用 C++ 在 Excel 文件中將文本拆分為列
以下是在 Excel 文件中將文本拆分為列的步驟。
- 創建 IWorkbook 類的實例。
- 使用 IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 方法訪問要拆分文本的工作表。
- 將示例數據插入工作表。
- 創建 ITxtLoadOptions 類的實例。
- 使用 ITxtLoadOptions->SetSeparator(Aspose::Cells::Systems::Char value) 方法指定將用於拆分文本的字符。
- 使用 IWorksheet->GetICells()->TextToColumns(Aspose::Cells::Systems::Int32 row, Aspose::Cells::Systems::Int32 column, Aspose::Cells::Systems: :Int32 totalRows, 侵入式Aspose::Cells::ITxtLoadOptions選項) 方法。
- 使用 IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String文件名) 方法。
以下示例代碼演示瞭如何使用 C++ 在 Excel 文件中將文本拆分為列。
// 源目錄路徑。
StringPtr srcDir = new String("SourceDirectory\\");
// 輸出目錄路徑。
StringPtr outDir = new String("OutputDirectory\\");
// 輸出excel文件的路徑
StringPtr outputFile = outDir->StringAppend(new String("TextToColumns.xlsx"));
// 創建 IWorkbook 類的實例
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// 訪問第一個工作表
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 添加示例數據
intrusive_ptr<String> str = new String("John Teal");
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(str);
str = new String("Peter Graham");
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(str);
str = new String("Brady Cortez");
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(str);
str = new String("Mack Nick");
worksheet->GetICells()->GetObjectByIndex(new String("A4"))->PutValue(str);
str = new String("Hsu Lee");
worksheet->GetICells()->GetObjectByIndex(new String("A5"))->PutValue(str);
// 創建 ITxtLoadOptions 類的實例
intrusive_ptr<ITxtLoadOptions> options = Factory::CreateITxtLoadOptions();
// 指定用於分隔文本的分隔符
options->SetSeparator(' ');
// 將文本拆分為列
worksheet->GetICells()->TextToColumns(0, 0, 5, options);
// 保存輸出的excel文件
workbook->Save(outputFile);
獲得免費許可證
為了在沒有評估限制的情況下試用 API,您可以申請免費的臨時許可證。
結論
在本文中,您學習瞭如何使用 C++ 將 Excel 文件中的文本拆分為多列。您已經看到了完整的代碼片段以及實現此目的所需的步驟。 Aspose.Cells for C++ 是一個強大的 API,它提供了許多額外的功能來自動執行與 Excel 相關的任務。您可以通過訪問 官方文檔 來詳細探索 API。如有任何疑問,請隨時通過我們的 免費支持論壇 與我們聯繫。