複製行和列是處理 Excel 文件時執行的一項常見任務。在某些情況下,您可能需要以編程方式複制 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 文件中的單行的步驟。

以下示例代碼顯示瞭如何使用 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 方法,該方法接受一個附加參數,指示要復制的總行數。要復制多行,請按照以下步驟操作。

以下示例代碼顯示瞭如何使用 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 文件中的單個列的步驟。

以下示例代碼顯示瞭如何使用 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 方法,該方法接受一個附加參數,指示要復制的列總數。要復制多列,請按照以下步驟操作。

以下示例代碼顯示瞭如何使用 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。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。

也可以看看