複製或移動 Excel 工作表

Excel 文件用於管理複雜的數據,例如部門預算或年度銷售報告。在某些情況下,您可能有想要用於創建報告的現成模板。為此,您可以創建模板工作表的副本。您可能還需要組織工作表以演示數據流。對於此類情況,您可以根據需要重新排列工作表。鑑於此,您將學習如何使用 C++ 以編程方式複制和移動工作表。

用於復製或移動 Excel 工作表的 C++ API

Aspose.Cells for C++ 是一個本地 C++ 庫,允許您創建、讀取和更新 Excel 文件,而無需安裝 Microsoft Excel。 API 還支持複製和移動 Excel 工作表。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。

PM> Install-Package Aspose.Cells.Cpp

使用 C++ 在 Excel 工作簿中復制工作表

以下是在 Excel 工作簿中復制工作表的步驟。

以下是使用 C++ 在 Excel 工作簿中復制工作表的示例代碼。

// 源目錄路徑。
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();

// 將數據從工作簿中的現有工作表複製到新工作表。
sheets->AddCopy(new String("Sheet1"));

// 保存 Excel 文件
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));

將工作表從一個工作簿複製到另一個工作簿

Aspose.Cells for C++ 還允許您在兩個 Excel 文件之間複製工作表。以下是將工作表從一個 Excel 文件複製到另一個文件的步驟。

以下是使用 C++ 將工作表從一個 Excel 工作簿複製到另一個工作簿的示例代碼。

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

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

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

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

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

// 檢索要復制的工作表
intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(0);

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

// 保存 Excel 文件
destinationWorkbook->Save(outDir->StringAppend(new String("book1_out.xlsx")));

使用 C++ 將工作表移動到不同的位置

以下是更改工作表在 Excel 工作簿中的位置的步驟。

以下是使用 C++ 將工作表移動到同一工作簿中不同位置的示例代碼。

// 源目錄路徑。
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<IWorksheet> sheet = sheets->GetObjectByIndex(0);

// 將第一個工作表移動到工作簿中的第二個位置。
sheet->MoveTo(1);

// 保存 Excel 文件
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));

獲得免費許可證

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

結論

在本文中,您了解瞭如何在同一 Excel 工作簿內或不同工作簿之間複製工作表。此外,您還了解瞭如何更改工作表在 Excel 文件中的位置。 Aspose.Cells for C++ 提供了更多用於處理 Excel 文件的功能,您可以通過訪問 官方文檔 來探索這些功能。如有任何疑問,請隨時通過我們的 免費支持論壇 與我們聯繫。

也可以看看