Excel上にあるグラフの値を抽出したいと考えています。
以下のサンプルデータのグラフで使用されている値を抽出する方法はありますでしょうか。
使用バージョン:Aspose.Cells for Java 18.2.
サンプルデータ:graph.zip (11.5 KB)
以上、お手数おかけしますが、
ご確認の程よろしくお願いいたします。
Excel上にあるグラフの値を抽出したいと考えています。
以下のサンプルデータのグラフで使用されている値を抽出する方法はありますでしょうか。
使用バージョン:Aspose.Cells for Java 18.2.
サンプルデータ:graph.zip (11.5 KB)
以上、お手数おかけしますが、
ご確認の程よろしくお願いいたします。
グラフのポイント値は外部データに依存しているため、グラフポイント値を抽出できませんでした。 ただし、グラフデータに関する情報の一部は、提供されたExcelファイル内に存在し、その内容を抽出するために使用される可能性があります。
この問題は次のように記録されています。
チケット作成のご対応ありがとうございました。
以上、よろしくお願いいたします。
値を抽出するには、次のコードを使用してください。 このコードのConsole Outputもご覧ください。
Java
Workbook workbook = new Workbook(dirPath + "graph.XLSX");
Worksheet worksheet = workbook.getWorksheets().get("Sheet1");
Chart c = worksheet.getCharts().get(0);
c.calculate();
SeriesCollection nSeries = c.getNSeries();
int seriesCount = nSeries.getCount();
for (int i = 0; i < seriesCount; i++) {
Series seires = nSeries.get(i);
ChartPointCollection points = seires.getPoints();
int pointsCount = points.getCount();
for (int j = 0; j < pointsCount; j++) {
ChartPoint point = points.get(j);
System.out.println("Point " + j + " Value of series " + i
+ " : " + point.getYValue());
}
System.out.println("-----------------------------------------");
}//for
Console Output
Point 0 Value of series 0 : 1.0
Point 1 Value of series 0 : 2.0
Point 2 Value of series 0 : 3.0
Point 3 Value of series 0 : 4.0
Point 4 Value of series 0 : 5.0
-----------------------------------------
Point 0 Value of series 1 : 6.0
Point 1 Value of series 1 : 7.0
Point 2 Value of series 1 : 8.0
Point 3 Value of series 1 : 9.0
Point 4 Value of series 1 : 10.0
グラフの値を抽出することができました。
ご対応ありがとうございました。
また、グラフについてお伺いしたいことがあります。
下記のテストデータにあるようなグラフの系列名を抽出することは可能でしょうか。
使用バージョン:Aspose.Cells for Java 18.2.
サンプルデータ:graph.zip (28.8 KB)
以上、お手数おかけしますが、
ご確認の程よろしくお願いいたします。
ChartPoint.getXValue()メソッドを必要に応じて使用してください。 上記のコードに次の行を追加してください
System.out.println("Point " + j + " Value of series " + i + " : " + point.getXValue());
Console Output
Point 0 Value of series 0 : 1.0
Point 1 Value of series 0 : 2.0
Point 2 Value of series 0 : 3.0
Point 3 Value of series 0 : 4.0
Point 4 Value of series 0 : 5.0
Point 5 Value of series 0 : 6.0
Point 6 Value of series 0 : 7.0
度々お尋ねしてしまい申し訳ございません。
xの値ではなく、下記のサンプルデータにあるようなグラフの系列名を抽出することは可能でしょうか。
サンプルデータから"A B C D E”というテキストを抽出したいです。
サンプルデータ:graph_series_name.zip (13.7 KB)
以上、お手数おかけしますが、
ご確認の程よろしくお願いいたします。
この機能は利用できないようですので、評価と実装のためにこの問題をデータベースに記録しました。 一度、私たちはあなたのためにいくつかのニュースを持って、我々はできるだけ早くあなたを更新します。
この問題は次のように記録されています。
チケット作成のご対応ありがとうございました。
以上、よろしくお願いいたします。
これはあなたの問題(以前は "CELLSJAVA - 42558"と記録されていました)をお知らせするためです。 QAを実施し、その他の機能強化や修正を加えた後は、間もなく固定版をご提供します。
この修正が公開されたら、ここでダウンロードリンクを共有します。
問題を解決していただき、ありがとうございました。
The issues you have found earlier (filed as CELLSJAVA-42558) have been fixed in this Aspose.Cells for Java 18.3 update. Please also check the <a href="Installation|Documentation
The issues you have found earlier (filed as CELLSJAVA-42558) have been fixed in this Aspose.Cells for Java 18.3 update. Please also check the document for your reference: Installation|Documentation
Aspose APIを使用していただきありがとうございます。
Aspose.Cells for Java 18.3の新しいバージョンで次のコードを使用してください。
Java
//Access the first chart
Chart chart = worksheet.getCharts().get(0) ;
//Calculate the chart
chart.calculate();
//Access the axis labels
ArrayList lst = chart.getCategoryAxis().getAxisLabels();
問題を解決していただきありがとうございました。
Aspose.Cells for Java 18.3で系列名が抽出されることを確認しました。
しかし、同じ処理をxls形式のファイルで行った場合、抽出結果がnullになってしまいました。
この問題を回避する方法はありますでしょうか。
使用バージョン:Aspose.Cells for Java 18.3
サンプルデータ:graph2.zip (9.2 KB)
お手数おかけしますが、ご確認の程よろしくお願いいたします。
テンプレートXLSファイルをありがとう。
テンプレートXLSファイルで次のサンプルコードを使用して、前述の問題を再現できます。
Workbook workbook = new Workbook("f:\\files\\graph2.xls"); Worksheet worksheet = workbook.getWorksheets().get(0); //Access the first chart Chart chart = worksheet.getCharts().get(0) ;
//Calculate the chart
chart.calculate();//Access the axis labels
ArrayList lst = chart.getCategoryAxis().getAxisLabels();
System.out.println(lst.size());//NullPointerException
問題は次のように記録されます。
CELLSJAVA-42569 - Unable to access Horizontal Category Axis Labels Items of Chart in XLS
チケット作成のご対応ありがとうございました。
以上、よろしくお願いいたします。
問題を解決していただき、ありがとうございました。