2009年7月25日土曜日

ScriptomとExcelでワークシートの情報を表示する

ScriptomとExcelでワークシートの情報を表示するには、以下のコードを実行します。


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

Scriptom.inApartment
{
ea = new ActiveXObject("Excel.Application")
wb = ea.workbooks.open(new File("test1.xls").canonicalPath)
// 最初のシート名の表示
println(wb.sheets(1).name)

// シートの個数
println(wb.sheets.count)

// 各シート名の列挙
for(es in wb.sheets){
println(es.name)
}
wb.close
}


サンプルエクセルファイル(test1.xls)

上図のような「テスト1」、「Sheet2」、「Sheet3」という名称のシートを含む
エクセルファイルを用意して実行すると、以下のように実行結果が表示されます。

C:\share\excel\>groovy ScriptomExcel1.groovy
テスト1
3
テスト1
Sheet2
Sheet3

動作環境
JDK 1.6 Update14, groovy1.6.3, Microsoft Office 2007

WSHで同様の処理を行うには、以下のスクリプトを実行します。

Set sh = CreateObject("WScript.Shell")
Set xa = CreateObject("Excel.Application")
Set wb = xa.workbooks.open(sh.CurrentDirectory + "\test1.xls")
' 最初のシート名の表示
WScript.StdOut.WriteLine wb.sheets(1).name
' シートの個数
WScript.StdOut.WriteLine wb.sheets.count
' 各シート名の列挙
for each es in wb.sheets
WScript.StdOut.WriteLine es.name
next
wb.close


関連情報

0 件のコメント:

コメントを投稿