Aspose.Cells 不仅仅是一个电子表格读写器——它是一个完整的、与 Excel 兼容的计算和报告引擎,可以让您在整个流程中无需安装 Microsoft Office 即可将原始数据转换为报告文档。这里是使用 API 进行“数据分析、处理和专业报告”的扩展地图,以及您今天可以粘贴到自己项目中的具体性能数据和代码模式。

1. 环境准备

首先,确保安装了 Aspose.Cells for Go via C++ 库。

# Linux/macOS
ls $(go env GOMODCACHE)

# Windows (PowerShell)
Get-ChildItem $env:GOPATH\github.com\aspose-cells\aspose-cells-go-cpp\

其次,如何安装 Aspose.Cells for Go via C++ 库,请参考 Aspose.Cells for Go via C++ 在线文档Aspose.Cells for Go via C++ 自述文件

2. 数据加载和基本操作

Aspose.Cells for Go via C++ 的主要功能:

  • 创建或加载电子表格
  • 数据排序
  • 数据过滤
  • 条件格式

我们将利用 GoLang 生态系统,结合 Aspose.Cells for Go via C++ API、实用代码、应用场景和最佳实践,帮助客户高效处理 Excel 数据。

  1. 请查看以下代码以了解 如何创建电子表格或加载现有电子表格
// 新建工作簿,并获取索引为 0 的工作表
workbook, _ := NewWorkbook()
worksheets, _ := workbook.GetWorksheets()
worksheet, _ := worksheets.Get_Int(0)

// 加载现有 Excel 文件,并获取索引为 0 的工作表
sourceWorkbook, _ := NewWorkbook_String("data_source.xlsx")
sourceWorksheets, _ := sourceWorkbook.GetWorksheets()
sourceWorksheet, _ := sourceWorksheets.Get_Int(0)
  1. 请查看以下代码以了解 如何在 Excel 文件中排序数据
// 创建单元格区域
cell_area ,_ := CellArea_CreateCellArea_Int_Int_Int_Int(0,0,100,10)
// 创建数据排序器
sorter, _ = workbook.GetDataSorter()
// 设置排序规则
sorter.SetOrder1(SortOrder_Ascending)
// 设置排序列
sorter.SetKey1(0)
// 排序
sorter.Sort()
  1. 请查看以下代码以了解 如何在 Excel 文件中过滤数据
// 获取工作表的自动过滤器
filter,_ = worksheet.GetAutoFilter()
// 设置范围,参数为单元格范围,数据类型为字符串。
filter.SetRange_String("A1:D1000")
// 自定义过滤,第二列大于等于 100 的值
filter.Filter(1, ">=100");
// 刷新数据
filter.Refresh();
  1. 请查看以下代码以了解 如何为 Excel 文件中的单元格区域设置条件格式
// 获取工作表的单元格。
cells ,_ := worksheet.GetCells()
// 获取单元格的格式条件。
formatConditions,_ = cells.GetFormatConditions()
// 添加条件格式,返回索引。
index,_ = formatConditions.Add()
// 获取条件格式及其索引。
condition,_ = formatConditions.Get(index)
// 设置条件格式规则
// 设置条件格式公式
condition.SetFormula1_String("=B2>1000")
// 设置条件格式操作符
condition.SetOperator(OperatorType_GreaterThan)
// 设置格式样式
// 创建新样式
style,_ := workbook.CreateStyle();
// 获取样式的字体
font,_ := style.GetFont()
// 获取红色
red_color, _ := Color_Red()
// 将字体颜色设置为红色
font.SetColor(red_color)
// 设置字体为粗体
font.SetIsBold(true)
// 将样式设置为条件格式
condition.SetStyle(style)

3. 高级数据分析

  • 数据透视表

    数据透视表对原始数据进行多维汇总,以快速获得趋势、比较和分布的洞察。例如:按区域、产品类别和季度汇总销售数据,以分析哪个产品在哪个区域表现最佳。

  • 公式

    在 Excel 中嵌入动态公式,使报告自动更新(例如,利润率 = 利润 / 销售额)。例如:在汇总表中添加“毛利率”列,公式为(收入 - 成本)/ 收入,当原始数据更新时会自动重新计算。

  • 图表

    图表可视化数据,使快速识别模式、异常和趋势变得更容易。例如:显示按区域销售的柱状图,或产品销售的时间序列折线图。

  1. 请查看以下代码以了解 如何使用数据透视表在 Excel 文件中显示数据
// 获取工作表的数据透视表容器。
pivotTables,_ := worksheet.GetPivotTables()
// 创建数据透视表,返回索引。
index,_ := pivotTables.Add_String_String_String("=A1:D100", "E3", "PivotTable1")
// 获取索引的数据透视表
pivotTable,_ := pivotTables.Get_Int(index);

// 配置数据透视表字段。
// 添加行字段。
pivotTable.AddFieldToArea_PivotFieldType_Int(PivotFieldType_Row, 0)
// 添加列字段。
pivotTable.AddFieldToArea_PivotFieldType_Int(PivotFieldType_Column, 1)
// 添加数据字段。
pivotTable.AddFieldToArea_PivotFieldType_Int(PivotFieldType_Data, 3)
// 设置数据汇总方法
dataFields,_ := pivotTable.GetDataFields()
dataField, _ := dataFields.Get_Int(0)
dataField.SetFunction(ConsolidationFunction_Sum);

pivotTable.CalculateData();
  1. 请查看以下代码以了解 如何使用公式计算在 Excel 文件中显示数据
// 获取工作表的单元格。
cells, := worksheet.GetCells()
// 获取单元格 E2。
cell, _ := cells.Get_String("E2")
// 设置公式
cell.setFormula("=SUM(B2:D2)")
// 计算电子表格中的所有公式
workbook.calculateFormula();
// 获取计算公式的结果
cells ,_ = worksheet.GetCells()
cell,_ cells.Get_String("E2")
result,_ := cell.GetDoubleValue()
  1. 请查看以下代码以了解 如何生成图表在 Excel 文件中显示数据
// 添加图表
charts,_ := worksheet.GetCharts()
chart_index,_ := charts.Add_ChartType_Int_Int_Int_Int(ChartType_Column, 5, 0, 15, 5)
chart,_ := charts.Get_Int(chartIndex);

// 设置图表数据区域
nseries, _ := chart.GetNSeries()
nseries.Add_String_Bool("=Sheet1!$B$2:$D$10", true)

// 设置类别轴数据
nseries.SetCategoryData("=Sheet1!$A$2:$A$10")

// 设置图表标题
chart_title,_ := chart.GetTitle()
chart_title.SetText("销售数据分析");

4. 客户报告生成

您可以根据客户的需求定义报告的结构和样式。在这里,我们定义一个简单的报告样式,包括数据表及其对应的图表展示。