- PR -

Jakarta POIでExcelファイルにExcel関数を使用する方法

1
投稿者投稿内容
Meta
常連さん
会議室デビュー日: 2005/11/24
投稿数: 31
投稿日時: 2007-02-23 10:53
Jakarta POIでExcelファイルを作成する際、Excelの関数は使用できますでしょうか?

例えば、SUM() など。

私の考えではsetCellValue()メソッドを使って、
文字列をセルに挿入するだけでできると思うのですが。
また、その時Excelの「R1C1形式」で使用できますか?

私の考えはこんな感じです。
 ↓↓↓

setCellValue("=SUM(A1:C1)")
setCellValue("=SUM(R[-4]C[-2],RC[-2])")


ご存知の方、ご教授お願い致します。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2007-02-23 11:35
セルの計算式は HSSFCellのsetCellFormula() で設定できますよ。
Meta
常連さん
会議室デビュー日: 2005/11/24
投稿数: 31
投稿日時: 2007-02-23 12:57
小僧さん返答ありがとうございます。

setCellFormula()を使用すると、R1C1形式では設定できないみたいです...
できれば、以下のように設定したいのですが、

setCellValue("=SUM(R[-4]C[-2],RC[-2])")


なにか原因があるのでしょうか??
ちなみに、ExcelのオプションではR1C1形式の設定はされています。

ご教授お願い致します。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2007-02-23 13:16
調べた限り、R1C1方式はだめらしいですよ。
「org.apache.poi.hssf.util.AreaReferenceとCellReferenceクラスの
toString()で表現を変換してね」とのことらしいです。
Meta
常連さん
会議室デビュー日: 2005/11/24
投稿数: 31
投稿日時: 2007-02-23 16:05
引用:


調べた限り、R1C1方式はだめらしいですよ。
「org.apache.poi.hssf.util.AreaReferenceとCellReferenceクラスの
toString()で表現を変換してね」とのことらしいです。




> 調べた限り、R1C1方式はだめらしいですよ。

私なりにも調べた結果だめみたいでした。

---

> toString()で表現を変換してね

とは、どういうことでしょうか?

Jakarta POIのJavadocsをみて、確認しようとしたのですが、
英語のdocしかなく...
コメントも書かれていませんでした。

恐らく、指定された範囲がそのクラスで
「A1:B9」のようなString形式で変換されてくるんでしょうか?

実際に作って見ます。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)