以前,我写了一个帖子关于如何实现Excel的自动化功能,并使用C#从头开始创建Excel的XLS / XLSX文件。今天,我将向您展示如何使用 C++ 创建 Excel 工作簿、向 Excel 工作表插入数据、计算公式以及在工作表中创建图表和表格。所有电子表格自动化功能都将由 C++ Excel API – Aspose.Cells for C++ 提供支持。
Aspose.Cells for C++ 是一个原生的 C++ 库,让您无需 Microsoft Excel 即可创建、读取、解析和转换电子表格文档。它提供了一整套 Excel 自动化功能,可用于生成和操作 XLS/XLSX 电子表格。在本文中,我们将介绍从头开始创建 Excel XLS/XLSX 文件的以下功能。
- 使用 C++ 创建 Excel 文件 (XLS/XLSX)
- 使用 C++ 将数据添加到 Excel 工作表
- 使用 C++ 计算工作簿公式
- 使用 C++ 在 Excel 工作表中创建表格
- 使用 C++ 在 Excel XLS/XLSX 中创建图表
C++ Excel 电子表格 API – 安装
您可以从下载部分下载Aspose.Cells for C++ 的完整库文件包。该软件包还包含一个随时可以运行的示例控制台应用程序。
使用 C++ 创建 Excel 文件 (XLS/XLSX)
让我们首先从头开始创建一个简单的 Excel XLSX 工作簿。工作簿由一个或多个工作表组成,每个工作表包含行和列形式的数据。因此,为了创建 Excel 电子表格,您需要先创建一个工作簿,然后在其中添加工作表。以下是使用 Aspose.Cells for C++ 创建 Excel 文件的步骤。
- 创建IWorkbook类的对象。
- 从IWorksheetCollection将工作簿的第一个工作表(默认创建)获取到IWorksheet对象中。
- 使用IWorksheet->GetICells()方法将工作表的单元格访问到ICells对象中。
- 通过指定行和列索引,使用ICells->GetObjectByIndex()方法将工作表的所需单元格访问到ICell对象中。
- 使用ICell->PutValue()方法向单元格添加值。
- 使用IWorkbook->Save()方法将工作簿保存为 .xlsx 文件。
以下代码示例展示了如何使用 C++ 创建 Excel XLSX 文件。
Excel 工作簿
下面是我们刚刚创建的 Excel 工作簿的截图。
使用 C++ 将数据添加到 Excel 工作表
在前面的示例中,我们已经看到了如何创建一个简单的 Excel 文件并使用行和列索引将值插入到特定单元格中。但是,大多数情况下,Excel 工作表中的单元格是使用列字母和行号(例如 A1、A2、B1 等)来标识的。因此,让我们看一下如何使用单元格名称将数据插入工作表的示例。该过程仅在向单元格添加值方面有所不同,创建 Excel 工作簿和工作表的所有其他步骤都相同。
以下代码示例展示了如何使用 C++ 创建 Excel XLSX 工作簿并将数据插入其中。
使用 C++ 计算工作簿公式
在 Excel 工作簿中设置公式是对数据执行计算的一项了不起的功能。它使对数据进行有效和高效的复杂计算变得非常容易。以下是在 Excel 工作表中设置和计算公式的步骤。
- 创建IWorkbook类的对象。
- 将工作表从IWorksheetCollection获取到IWorksheet对象中。
- 使用ICell类访问要应用公式的单元格。
- 使用ICell->SetFormula()方法设置单元格的公式。
- 使用IWorkbook->CalculateFormula()方法计算公式。
- 使用IWorkbook->Save()方法保存工作簿。
以下代码示例展示了如何使用 C++ 在 Excel XLSX 工作簿中添加和计算公式。
使用 C++ 在 Excel 工作表中创建表格
Excel 工作表中的表格用于组织位于一系列单元格中的一组数据。表格还可以帮助您维护工作表中不同类型的列表。以下是在 Excel 工作表中创建表格的步骤。
- 使用IWorkbook类创建一个新的 Excel 工作簿。
- 将默认工作表访问到IWorksheet对象或添加一个新工作表。
- 以我们在上一个示例中所做的相同方式将值/数据插入到单元格中。
- 使用IWorksheet->GetIListObjects()->Add()方法将单元格范围添加到工作表的 Lists 集合中。
- 将列表放入IListObject对象中。
- 使用IListObject->SetTableStyleType()方法对表格应用样式。
- 将工作簿另存为 .xlsx 文件。
以下代码示例展示了如何使用 C++ 在 Excel XLSX 文件中创建表格。
带表格的 Excel 工作簿
使用 C++ 在 Excel 电子表格中创建图表
Excel 电子表格中的图表用于使用不同类型的图形对象来可视化数据。它们使我们能够快速洞察和理解数据,尤其是在数据量巨大的情况下。Aspose.Cells for C++ 支持多种图表,包括 Sunburst、Treemap、Histogram、Pyramid、Bubble、Line等等。以下是使用 Aspose.Cells for C++ 在 Excel 工作簿中创建图表的步骤。
- 创建一个新的 Excel 工作簿。
- 将所需的工作表访问到IWorksheet对象中。
- 通过传递图表的类型,使用IWorksheet->GetICharts()->Add()方法将新图表添加到工作表。
- 将新添加的图表访问到IChart对象中。
- 使用IChart->GetNISeries()->Add()方法设置图表的数据源。
- 将工作簿另存为 .xlsx 文件。
以下代码示例展示了如何使用 C++ 在 Excel XLSX 文件中创建图表。
带图表的 Excel 工作簿
结论
在本文中,我们介绍了如何使用 C++ 从头开始创建 MS Excel 电子表格。本文还包含有关如何在 Excel 工作表中创建表格、图表和计算公式的分步指南和代码示例。您可以从Aspose.Cells for C++的文档中了解有关 Excel 自动化的其他高级功能的更多信息。