JExcelApi

Jawk では JExcelApi を使って Excel ファイルの読み書きができます。

JExcelApi のダウンロード

JExcelApi は、 ダウンロードページ(英語) の Download から、ダウンロードできます。 JExcelApi の最新版は 2.6.9 (Java 1.4) です。 jexcelapi_2_6_9_1.4.tar.gz または jexcelapi_2_6_9_1.4.zip を ダウンロードしてください。

ダウンロードしたファイルを展開して、 その中の jxl.jar というファイルを使います。

Excel ファイルを作成してみる

次の xls.jawk はプログラム例です。 out.xls というファイルを作成します。

xls.jawk
import jxl.*
import jxl.write.*

BEGIN {
  f = new java.io.File( "out.xls" )
  wb = Workbook.createWorkbook( f )

  sheet = wb.createSheet( "シート1" , 0 )
  sheet.addCell( new Label( 0 , 2 , "Jawkとjxl" ) )
  sheet.addCell( new Number( 2 , 4 , 1234.5678 ) )
  sheet.addCell( new DateTime( 1 , 2 , new java.util.Date() ) )

  wb.write()
  wb.close()
}

Windows での実行例

上のプログラム例の xls.jawk と ダウンロードした jxl.jar と jawk.0_14.jar と 次の jawkf.bat の 4 つのファイルを C:\jawk フォルダに置きます。

・jawkf.bat
@echo off
set CP=
set CP=%CP%C:\jawk\jawk.0_14.jar;
set CP=%CP%C:\jawk\jxl.jar;
java -cp "%CP%" org.jawk.Awk -f %1

次のように xls.jawk を実行すると、 C:\jawk\out.xls が作成されます。

C:\jawk>jawkf.bat xls.jawk

Excel ファイルを読んでみる

次の xls2.jawk はプログラム例です。 out.xls というファイルを読み込んで、 内容をタブ区切りで出力します。

xls2.jawk
import jxl.*
import jxl.write.*

BEGIN {
  f = new java.io.File( "out.xls" )
  ws = new WorkbookSettings()
  ws.setGCDisabled( true )
  wb = Workbook.getWorkbook( f , ws )

  sheet = wb.getSheet( 0 )
  for ( i = 0 ; i < sheet.getRows() ; i++ ) {
    row = sheet.getRow( i )
    for ( j = 0 ; j < row.length ; j++ ) {
      printf "%s\t" , row[ j ].getContents()
    }
    print
  }

  wb.close()
}

関連リンク


Jawk で良いんじゃない?
Jawk を使ってみる
Jawk で YAML
Jawk で SQLite
Jawk でメール
≫Jawk で Excel

他の Java のクラスを使った例は、 こちらをご覧ください。


アフィリエイトでのご支援を歓迎しています




関連書籍

【Amazon】


【セブンアンドワイ ヤフー店】



【XMLinux ホームページ】
Copyright © 2009 HANAI Mitsuru. All rights reserved.
E-mail: xmlinux2004 @yahoo.co.jp