MS Excel 为您提供了许多处理 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 工作表中插入行的步骤。
- 首先,使用 IWorkbook 类加载 Excel 文件。
- 使用 IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 方法获取要在其中插入行的工作表实例。
- 使用 IWorksheet->GetICells()->InsertRows ( Aspose::Cells::Systems::Int32 rowIndex, Aspose::Cells::Systems::Int32 totalRows) 方法插入行。
- 最后,使用 IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String文件名) 方法。
以下示例代码显示了如何使用 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")));
// 访问 Excel 文件中的第一个工作表
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 在工作表的第三个位置插入 2 行
worksheet->GetICells()->InsertRows(2, 2);
// 输出 Excel 文件的路径
StringPtr outputInsertRows = outDir->StringAppend(new String("outputInsertRows.xlsx"));
// 保存 Excel 文件。
workbook->Save(outputInsertRows);
使用 C++ 在 Excel 工作表中插入列
以下是在 Excel 工作表中插入列的步骤。
- 首先,使用 IWorkbook 类加载 Excel 文件。
- 使用 IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 方法获取要在其中插入列的工作表实例。
- 使用 IWorksheet->GetICells()->InsertColumns ( Aspose::Cells::Systems::Int32 columnIndex, Aspose::Cells::Systems::Int32 totalColumns) 方法插入列。
- 最后,使用 IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String文件名) 方法。
以下示例代码显示了如何使用 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")));
// 访问 Excel 文件中的第一个工作表
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 在工作表的第二个位置插入 2 列
worksheet->GetICells()->InsertColumns(1, 2);
// 输出 Excel 文件的路径
StringPtr outputInsertColumns = outDir->StringAppend(new String("outputInsertColumns.xlsx"));
// 保存 Excel 文件。
workbook->Save(outputInsertColumns);
使用 C++ 从 Excel 工作表中删除行
以下是从 Excel 工作表中删除行的步骤。
- 首先,使用 IWorkbook 类加载 Excel 文件。
- 使用 IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 方法获取要从中删除行的工作表实例。
- 使用 IWorksheet->GetICells()->DeleteRows ( Aspose::Cells::Systems::Int32 rowIndex, Aspose::Cells::Systems::Int32 totalRows, bool updateReference) 方法删除行。
- 最后,使用 IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String文件名) 方法。
以下示例代码显示如何使用 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")));
// 访问 Excel 文件中的第一个工作表
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 从第 3 行开始删除 2 行
worksheet->GetICells()->DeleteRows(2, 2, true);
// 输出 Excel 文件的路径
StringPtr outputDeleteRows = outDir->StringAppend(new String("outputDeleteRows.xlsx"));
// 保存 Excel 文件。
workbook->Save(outputDeleteRows);
使用 C++ 从 Excel 工作表中删除列
以下是从 Excel 工作表中删除列的步骤。
- 首先,使用 IWorkbook 类加载 Excel 文件。
- 使用 IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 方法获取要从中删除列的工作表实例。
- 使用 IWorksheet->GetICells()->DeleteColumns ( Aspose::Cells::Systems::Int32 columnIndex, Aspose::Cells::Systems::Int32 totalColumns, bool updateReference) 方法删除列。
- 最后,使用 IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String文件名) 方法。
以下示例代码显示如何使用 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")));
// 访问 Excel 文件中的第一个工作表
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 从工作表的第 2 个位置开始删除 2 列
worksheet->GetICells()->DeleteColumns(1, 2, true);
// 输出 Excel 文件的路径
StringPtr outputDeleteColumns = outDir->StringAppend(new String("outputDeleteColumns.xlsx"));
// 保存 Excel 文件。
workbook->Save(outputDeleteColumns);
获得免费许可证
您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。
结论
在本文中,您学习了如何使用 C++ 在 Excel 工作表中插入和删除行和列。 Aspose.Cells for C++ 是一个庞大的 API,它提供了一系列附加功能,用于自动执行与 Excel 相关的任务。您可以通过访问 官方文档 来详细探索 API。如有任何问题,请随时通过我们的 免费支持论坛 与我们联系。