复制行和列是处理 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。如有任何疑问,请随时通过我们的 免费支持论坛 与我们联系。

也可以看看