チャートの操作
チャートの操作
Aspose.Cells FOSS for Java は、XLSX ワークブックの読み込みおよび保存時に埋め込みチャートを保持します。既存のチャートを検査し、タイプや位置を照会し、標準タイプのチャートをプログラムで追加することができます。ChartEx タイプ(Waterfall、Treemap、Sunburst、Histogram、Box and Whisker、Funnel、Map)は往復で保持されますが、API では作成できません。
概要
ワークシート内のチャートは、Worksheet.getCharts() を介してアクセスされる ChartCollection によって管理されます。各 Chart インスタンスは、名前、チャートタイプ、および 2 セルアンカーポジションを公開します。新しいチャートは ChartCollection.add(type, dataRange, upperLeftRow, upperLeftColumn, lowerRightRow, lowerRightColumn) で挿入され、作成されたチャートのインデックスが返されます。
ChartType 列挙型はチャートのバリアント(棒、線、円など)を識別します。ヘルパーメソッド ChartCollection.parseChartType(string) と ChartCollection.chartTypeToString(ChartType) は、列挙型とシリアライズ時に使用する文字列表現との相互変換を行います。
キークラス
| クラス | 説明 |
|---|---|
Chart | ワークシートに埋め込まれたチャートを表します。名前、タイプ、セルアンカー位置への読み取りアクセスです。 |
ChartCollection | ワークシート上のすべてのチャートのコレクションです。カウント、インデックスアクセス、追加、そしてチャートタイプ変換ヘルパーをサポートします。 |
ChartType | チャートのバリアントを識別するEnumです(バー、カラム、ライン、パイ、散布図など)。 |
ChartModel | チャート用の内部シリアライズモデルです。ロード/セーブ時に使用される生の XML フィールドを公開します。 |
ワークシート上のチャートへのアクセス
任意の Worksheet オブジェクトから Worksheet.getCharts() を介して 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)を指定してください。
注: ChartExファミリーのタイプ(Waterfall、Treemap、Sunburst、Histogram、Box and Whisker、Funnel、Map)はXLSXファイルの読み込み時に保持されますが、この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を介して作成することはできません。
- このリリースではチャートのデータ系列バインディングは変更できません。チャートは作成時に指定された元のデータ範囲に基づいて描画されます。