2010年11月23日火曜日

groovyとApache POIを使用して既存の値が存在しないセルの値を設定する

groovyとApache POIを使用して既存の値が存在しないセルの値を設定するには、以下のコードを実行します。

import org.apache.poi.ss.usermodel.*;

workbook = WorkbookFactory.create(new FileInputStream("test1.xlsx"))
sheet = workbook.getSheetAt(0)
row = 5
column = 0
// 文字列型でセルの値を設定
if( sheet.getRow(row) == null ){
// 既存の行が存在しない場合は行を作成
sheet.createRow(row)
}
if( sheet.getRow(row).getCell(column) == null ){
// 既存のセルが存在しない場合はセルを作成
sheet.getRow(row).createCell(column)
}
sheet.getRow(row).getCell(column).setCellValue("追加")
workbook.write(new FileOutputStream("test2.xlsx"))



サンプルExcelブック(test1.xlsx)


出力Excelブック(test2.xlsx)


※$GROOVY_HOME/libにPOI関連のjarを追加しておくこと。
・poi-3.7-20101029.jar
・poi-ooxml-3.7-20101029.jar
・poi-ooxml-schemas-3.7-20101029.jar
・log4j-1.2.13.jar;
・geronimo-stax-api_1.0_spec-1.0.jar
・xmlbeans-2.3.0.jar
・dom4j-1.6.1.jar

動作環境
JDK6 Update 22, groovy 1.7.5, Apache POI 3.7

0 件のコメント:

コメントを投稿