シナリオ
- Java用のExcel操作ライブラリApachePOIをSikuliXで使用する
- POIライブラリの保管場所はc:¥ApachePOI
- サンプルプログラムではc:¥Sample.xlsxの内容を表示する
Excelファイルの内容
インストール
1.Apache POIをダウンロード この例では5.0.0をダウンロード
URLは複数あるがすべて同じものなのでどれでも良い
2.ダウンロードファイルを解凍し下記のjarファイル7個をc:¥ApachePOIに保管する
commons-collections4-4.4.jar
commons-compress-1.20.jar
commons-math3-3.6.1.jar
poi-5.0.0.jar
poi-ooxml-5.0.0.jar
poi-ooxml-lite-5.0.0.jar
xmlbeans-4.0.0.jar
解凍後のjarファイルの場所
※SikuliXバグ情報
sikulix1.1.4以降のloadコマンドにバグがある模様。
https://bugs.launchpad.net/sikuli/+bug/1789569
2.1でFix予定らしい。2.0.4、2.0.5では問題ない
回避策:下記フォルダに各種ライブラリをコピー後IDEを起動し直すと自動でロードする
※AppDataは隠しファイルなので表示できるように設定する(エクスプローラ>表示タブ>隠しファイル)
C:¥Users¥<ユーザー名>¥AppData¥Roaming¥Sikulix¥Extensions
サンプルコード
# Apache POIライブラリをロード
load("C:\\ApachePOI\\commons-collections4-4.4.jar")
load("C:\\ApachePOI\\commons-compress-1.20.jar")
load("C:\\ApachePOI\\commons-math3-3.6.1.jar")
load("C:\\ApachePOI\\poi-5.0.0.jar")
load("C:\\ApachePOI\\poi-ooxml-5.0.0.jar")
load("C:\\ApachePOI\\poi-ooxml-lite-5.0.0.jar")
load("C:\\ApachePOI\\xmlbeans-4.0.0.jar")
import sys
from java.io import File, FileOutputStream ,FileInputStream
from org.apache.poi.ss.usermodel import WorkbookFactory
reload(sys)
sys.setdefaultencoding("utf-8")
# Excelファイルの保管場所
FILE_PATH = u"C:\\Sample.xlsx"
file = FileInputStream(FILE_PATH)
wb = WorkbookFactory.create(file)
# シートの選択
sheet = wb.getSheet(u"シート")
# シートの内容を表示
for row in sheet:
print row.getCell(0), row.getCell(1)
wb.close()
file.close()
結果
国名 通貨
日本 JPY
米国 USD
英国 GBP