複製行和列是處理 Excel 文件時執行的一項常見任務。在某些情況下,您可能需要以編程方式複制 Excel 文件中的行或列。對於此類情況,本文將教您如何使用 C++ 複製 Excel 文件中的行和列。
- 用於復制 Excel 文件中的行和列的 C++ API
- 使用 C++ 在 Excel 文件中復制單行
- 使用 C++ 在 Excel 文件中復制多行
- 使用 C++ 複製 Excel 文件中的單列
- 使用 C++ 在 Excel 文件中復制多列
用於復制 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 文件中的單行的步驟。
- 使用 IWorkbook 類加載 Excel 文件。
- 檢索要將行複製到的工作表。
- 使用 CopyIRow(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex) 方法。
- 使用 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String文件名) 方法。
以下示例代碼顯示瞭如何使用 C++ 複製 Excel 文件中的一行。
// 源目錄路徑。
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// 輸出目錄路徑。
StringPtr outDir = new String("OutputDirectory\\");
// 加載輸入的 Excel 文件
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 獲取第一個工作表
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 複製行
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);
// 保存 Excel 文件
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
使用 C++ 在 Excel 文件中復制多行
為了複製多行,我們將使用 CopyIRows 方法,該方法接受一個附加參數,指示要復制的總行數。要復制多行,請按照以下步驟操作。
- 使用 IWorkbook 類加載 Excel 文件。
- 檢索要復制行的工作表。
- 使用 CopyIRows(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex, Aspose::Cells::Systems::Int32 rowNumber) 方法。
- 使用 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String文件名) 方法。
以下示例代碼顯示瞭如何使用 C++ 複製 Excel 文件中的多行。
// 源目錄路徑。
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// 輸出目錄路徑。
StringPtr outDir = new String("OutputDirectory\\");
// 加載輸入的 Excel 文件
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 獲取第一個工作表
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 複製行
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);
// 保存 Excel 文件
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
使用 C++ 複製 Excel 文件中的單列
以下是使用 C++ 複製 Excel 文件中的單個列的步驟。
- 使用 IWorkbook 類加載 Excel 文件。
- 檢索要將列複製到的工作表。
- 使用 CopyIColumn(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex) 方法。
- 使用 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String文件名) 方法。
以下示例代碼顯示瞭如何使用 C++ 複製 Excel 文件中的單個列。
// 源目錄路徑。
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// 輸出目錄路徑。
StringPtr outDir = new String("OutputDirectory\\");
// 加載輸入的 Excel 文件
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 獲取第一個工作表
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 複製列
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);
// 保存 Excel 文件
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
使用 C++ 在 Excel 文件中復制多列
為了複製多列,我們將使用 CopyIColumns 方法,該方法接受一個附加參數,指示要復制的列總數。要復制多列,請按照以下步驟操作。
- 使用 IWorkbook 類加載 Excel 文件。
- 檢索要復制列的工作表。
- 使用 CopyIColumns(intrusiveptrAspose::Cells::ICells sourceCells,Aspose::Cells::Systems::Int32 sourceColumnIndex,Aspose::Cells::Systems::Int32 destinationColumnIndex,Aspose::Cells::Systems::Int32 columnNumber) 方法。
- 使用 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String文件名) 方法。
以下示例代碼顯示瞭如何使用 C++ 複製 Excel 文件中的多列。
// 源目錄路徑。
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// 輸出目錄路徑。
StringPtr outDir = new String("OutputDirectory\\");
// 加載輸入的 Excel 文件
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 獲取第一個工作表
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 複製列
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);
// 保存 Excel 文件
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
獲得免費許可證
為了在沒有評估限制的情況下試用 API,您可以申請免費的臨時許可證。
結論
在本文中,您學習瞭如何使用 C++ 複製 Excel 文件中的行和列。共享代碼示例展示瞭如何復制 Excel 文件中的單行和多行和多列。我們使用 Aspose.Cells for C++ API 來實現這一點。它是一個強大的 API,提供了許多用於處理 Excel 文件的附加功能。您可以通過訪問 官方文檔 來詳細探索 API。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。