- - PR -
Jakarta-POIでグラフ
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-04-12 19:28
Jakarta-POIを使用して、グラフを作成しようとしているのですが
うまくいきません。 具体的にはデータが空の表を用意し、グラフを用意しておきます。 そのファイルを読み込んで、POIで値をセットして保存で グラフ作成というようなことをしようと思っています。 しかし結果は壊れたExcelファイルができてしまいます。 POIはこのような使い方をできないのでしょうか。 (HPには、チャートは2.0から対応と書いてあります) 使用したバージョンは、final2.0とfinal2.5です。 試したところ、↓のようにグラフを持っているファイルを開いて保存するだけで 壊れたファイルができてしまいます。 HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream("hina.xls")); FileOutputStream fileOut = new FileOutputStream("hina2.xls"); wb.write(fileOut); fileOut.close(); どなたかご教授ください。 |
|
投稿日時: 2004-04-13 14:56
HSSFChartはscratchpadに。。。
JavadocのHSSFChartのcreateBarChartにはまだ出来ていないと書いてあります。 NOTE: Does not yet work... checking it in just so others can take a look. シート内にグラフを入れることは出来ませんでしたが、 挿入で、グラフを挿入してやれば動作しました。 という事で、ワークシート内にグラフはおかずに グラフを挿入する事で回避してはどうでしょうか。 環境は、POI-2.5-final-20040302です。 |
|
投稿日時: 2004-04-13 17:46
ご返答ありがとうございます。
HSSFChartのJavaDocには確かにDose not yet workって書いてありますね。 でも、ファイルを読みこんで書くだけでも使っているんですかね。 (しかし動かないのだから使っているか、その他グラフには対応してないのかなぁ〜) ところで、グラフを挿入する方法とは どのような方法でしょうか。 他のPOIのクラスのメソッドを使用するのでしょうか。 すいません。環境を書き忘れていましたが環境は Excel2002 Windows2000 JDK1.4.1_02 poi-2.5-final-20040302/poi-2.0-final-20040126 です。 |
|
投稿日時: 2004-04-13 19:32
私が読んだソースではグラフの挿入するコードがないので
今回ミウさんが元のExcelファイルを用意されてるということですんで、 そのExcelファイルにグラフを先に挿入してやります。 やり方は、シート名が書かれているタブで右クリック-挿入でグラフを 選んでやります。 これで、OKです。 問題は、グラフの画面がでかくなりすぎるんですが.... おそらく、実装中のHSSFChartに関連するChartFormatRecord、ChartRecordが 邪魔してるんではないかと思ってます。 単体は目を通したんですが、明日にでももう少しソースを読んで見ます。 ちなみに、標準モジュールを使用してのマクロが使えるようなので そこからExcel起動時にグラフを書くのも一つの手かもしれません。 |
|
投稿日時: 2004-04-13 20:04
>やり方は、シート名が書かれているタブで右クリック-挿入でグラフを
>選んでやります。 >これで、OKです。 >問題は、グラフの画面がでかくなりすぎるんですが.... 度々ありがとうございます。 上記のやり方ですが、別シートでグラフを作成するということですね。 こちらの方法で行うと確かにできますね。 オブジェクトとして扱った場合に、POIがまだ対応していないということに なりそうですね。 >ちなみに、標準モジュールを使用してのマクロが使えるようなので >そこからExcel起動時にグラフを書くのも一つの手かもしれません。 こちらの方は、もう試しました。 この方法はグラフ作成できるのですが セキュリティを高にしてしまうと、グラフが作成できないのが困りものです。 こちらは最終手段かなと思っています。 |
1