create alias if not exists poi_list_sheets as $$
import java.io.*;
import java.sql.*;
import org.h2.tools.*;
import org.apache.poi.ss.usermodel.*;
@CODE
ResultSet poi_list_sheets(String file)
throws Exception
{
if( file == null ){
return null;
}
Workbook workbook = WorkbookFactory.create(new FileInputStream(file));
// ブックに含まれるシートの名前を列挙する
SimpleResultSet rs = new SimpleResultSet();
rs.addColumn("SHEET_INDEX", Types.INTEGER, 512, 0);
rs.addColumn("NAME", Types.VARCHAR, 2048, 0);
for(int wi=0;wi<workbook.getNumberOfSheets();wi++){
rs.addRow(wi, workbook.getSheetName(wi));
}
return rs;
}
$$
実行例
select * from poi_list_sheets('c:\share\test1.xlsx');
※システム環境変数CLASSPATHにtools.jarと以下のPOI関連のjarを追加しておくこと。
・poi-3.7-20101029.jar
・poi-ooxml-3.7-20101029.jar
・poi-ooxml-schemas-3.7-20101029.jar
・commons-logging-1.1.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, H2 Database 1.2.147 (2010-11-21), Apache POI 3.7
○関連情報
・H2 Databaseに関する他の記事はこちらを参照してください。
0 件のコメント:
コメントを投稿