ushidayの日記

主に「IBMi」のメモに・・・

GroovyでExcelの操作その1

お客さん要件で、「Excelに雛形マスター作ったんで、AS/400に上げたいんだけどぉ...」と言われて、Groovyでサクッと、Excelの雛形マスターをAS/400DB2に上げられるかやってみました。

■実行環境

  1. Groovy Version: 1.6.3
  2. JVM: 1.6.0_12
  3. PC OS: Windows XP SP3
  4. scriptom: scriptom-1.5.4 Bulid 12
  5. OS/400: V5R4M0
  6. JDBCドライバー:AS/400付属のjt400.jar

■インストール

  1. WindowsインストーラでGroovyを入れれば自動で入っているみたいです。自分はインストーラ使ってなかったんで、手動でscriptom-1.5.4.zipをダウンロードしてきました。
  2. scriptom-1.5.4.zipを解凍
  3. 解凍したディレクトリの”scriptom-1.5.4b12-x64.dll”と”scriptom-1.5.4b12-x86.dll”を「GROOVY_HOME/bin」にコピー。
  4. 解凍したディレクトリの”scriptom-1.5.4b12.jar”を「GROOVY_HOME/lib」にコピー。
  5. jt400.jarは以前から「USER_HOME/.groovy/lib」に、入れてあったんでそのまま使います

Excelのシート名を出力するサンプルで動作確認

import org.codehaus.groovy.scriptom.*;
import org.codehaus.groovy.scriptom.tlb.office.excel.*;

Scriptom.inApartment
{
	def dir = new File(System.properties["user.home"] + "/デスクトップ")

	excel = new ActiveXObject("Excel.Application")
	workbook = excel.workbooks.open(new File(dir.path + "/test.xls").canonicalPath)

	// シート名の表示
	for(sheet in workbook.sheets){
		println(sheet.name)
	}
	workbook.close
}
  • テスト用のシート

  • テスト結果