使用图表
使用图表
Aspose.Cells FOSS for Java 在加载和保存 XLSX 工作簿时会保留嵌入的图表。您可以检查现有图表、查询其类型和位置,并以编程方式添加新的标准类型图表。ChartEx 类型,如 Waterfall、Treemap、Sunburst、Histogram、Box and Whisker、Funnel 和 Map,在往返过程中会被保留,但无法通过 API 创建。
概述
工作表中的图表通过 ChartCollection(通过 Worksheet.getCharts() 访问)进行管理。每个 Chart 实例公开其名称、图表类型以及其双单元格锚点位置。使用 ChartCollection.add(type, dataRange, upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn) 插入新图表,该方法返回新创建图表的索引。
ChartType 枚举标识图表变体(柱形、折线、饼图等)。辅助方法 ChartCollection.parseChartType(string) 和 ChartCollection.chartTypeToString(ChartType) 在枚举和值的字符串表示之间进行转换,以用于序列化场景。
关键类
| 类 | 描述 |
|---|---|
Chart | 表示工作表中的嵌入式图表。提供对名称、类型以及单元格锚点位置的只读访问。 |
ChartCollection | 工作表上所有图表的集合。支持计数、索引访问、添加以及图表类型转换辅助函数。 |
ChartType | 枚举,用于标识图表变体(柱形图、条形图、折线图、饼图、散点图等)。 |
ChartModel | 图表的内部序列化模型。公开在加载/保存期间使用的原始 XML 字段。 |
访问工作表上的图表
通过 Worksheet.getCharts() 从任意 Worksheet 对象检索 ChartCollection。使用 ChartCollection.getCount() 确定存在多少图表。通过 ChartCollection.get(index) 使用基于零的索引访问各个图表。
一旦你拥有 Chart 引用,就可以读取:
Chart.getName()— 图表的内部名称字符串。Chart.getChartType()—ChartType枚举值。Chart.getUpperLeftRow()/Chart.getUpperLeftColumn()— 左上锚定单元格。Chart.getLowerRightRow()/Chart.getLowerRightColumn()— 右下锚定单元格。Chart.getExtentCx()/Chart.getExtentCy()— 图表在 EMU 中的范围。
添加新图表
使用 ChartCollection.add(type, dataRange, upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn) 插入新图表。该方法返回集合中该图表的整数索引。为 type 参数提供一个 ChartType 值,并为 dataRange 提供一个单元格范围字符串(例如 A1:B5)。
注意:加载 XLSX 文件时会保留 ChartEx-family 类型(Waterfall、Treemap、Sunburst、Histogram、Box and Whisker、Funnel、Map),但无法通过此 API 以编程方式创建。
API Reference 摘要
Chart
| 方法 | 返回类型 | 描述 |
|---|---|---|
getName() | String | 图表的内部名称。 |
getChartType() | ChartType | 图表变体枚举值。 |
getUpperLeftRow() | int | 左上锚点的行索引。 |
getUpperLeftColumn() | int | 左上锚点的列索引。 |
getLowerRightRow() | int | 右下锚点的行索引。 |
getLowerRightColumn() | int | 右下锚点的列索引。 |
getExtentCx() | long | 图表宽度(单位为 EMU)。 |
getExtentCy() | long | 图表高度(单位为 EMU)。 |
ChartCollection
| 方法 | 返回类型 | 描述 |
|---|---|---|
getCount() | int | 工作表上的图表数量。 |
get(index) | Chart | 返回给定零基索引处的图表。 |
add(type, dataRange, ...) | int | 添加一个新图表;返回其索引。 |
parseChartType(string) | ChartType | 将字符串名称转换为 ChartType 枚举值。 |
chartTypeToString(type) | String | 将 ChartType 枚举值转换为其字符串名称。 |
限制
- ChartEx 类型(Waterfall、Treemap、Sunburst、Histogram、Box and Whisker、Funnel、Map)会原样往返,但无法通过 API 创建。
- 在此版本中,图表数据系列绑定不可修改;图表根据创建时提供的原始数据范围进行渲染。