プログラムを動かしてみることにします。
今回は、エクセルファイルのSummaryInformationを取得してみます。
これは、xlsファイルを右クリックして表示できるプロパティ情報を
取得したりしています。
例によってクラスを新規作成します。
第3回:プログラムを作って実行する。
の手順に従い、ここでは、「ReadProertyTest」という名前のクラスを作成してみます。
プロジェクト部分を右クリックして「New→class」でNameにReadProertyTestを入力します。
そして、プログラムの部分には、下記のプログラムを入力します。
============================================== import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.hpsf.PropertySetFactory; import org.apache.poi.hpsf.SummaryInformation; import org.apache.poi.poifs.eventfilesystem.POIFSReader; import org.apache.poi.poifs.eventfilesystem.POIFSReaderEvent; import org.apache.poi.poifs.eventfilesystem.POIFSReaderListener; public class ReadProertyTest { static class MyPOIFSReaderListener implements POIFSReaderListener{ public void processPOIFSReaderEvent(POIFSReaderEvent event){ SummaryInformation si = null; try{ si = (SummaryInformation) PropertySetFactory.create(event.getStream()); }catch (Exception ex){ throw new RuntimeException ("Property set stream \"" + event.getPath() + event.getName() + "\": " + ex); } System.out.println("Title: " + si.getTitle() ); System.out.println("作者:"+si.getAuthor()); System.out.println("最終更新日:"+si.getLastSaveDateTime()); System.out.println("アプリケーション名:"+si.getApplicationName() ); } } public static void main(String[] args) throws IOException{ final String filename = "C:\\temp\\sample.xls"; POIFSReader r = new POIFSReader(); r.registerListener(new MyPOIFSReaderListener(), "\005SummaryInformation"); r.read(new FileInputStream(filename)); } } ==============================================
プログラムの読み方は、下記のとおりです。
まずは
public static void main
の部分から開始されます。
最初に、読み取るファイルを支持するために、ファイル名を特定する下記の
記述をしています。
final String filename = "C:\\temp\\sample.xls";
次は、POIの機能を利用するためのおまじないみたいな文言を入力します。
「MyPOIFSReaderListener」の部分は、すぐ上に書いているプログラムの
名前を書いています。
POIFSReader r = new POIFSReader();
r.registerListener(new MyPOIFSReaderListener(),
"\005SummaryInformation");
最後にPOIの部品に対して、ファイルを読み込ませる命令を記述します。
r.read(new FileInputStream(filename));
これが呼び出されると、下記の部分が呼び出されるという流れになります。
public void processPOIFSReaderEvent(POIFSReaderEvent event){
そして、実際に情報を出力している部分は、下記の箇所になります。
System.out.println("Title: " + si.getTitle() );
System.out.println("作者:"+si.getAuthor());
System.out.println("最終更新日:"+si.getLastSaveDateTime());
System.out.println("アプリケーション名:"+si.getApplicationName() );
ちなみにこの部分は、他にもいろいろな情報が詰まっているので、
好きな情報を出力することができます。
どんな情報が詰まっているかというのは、下記のページに説明書があります。
http://poi.apache.org/apidocs/org/apache/poi/hpsf/SummaryInformation.html
si.getTitle()
などの「getTitle() 」の部分を上記のリンクに書いているほかのものに変えていけば
該当する情報が出力できます。
これで、このプログラムがきちんと動作していれば、POIのインストールは
無事に完了しています。
また、最初は、わからない部分には目をつむって、見よう見まねでやっていけば
徐々に慣れてくると思います。
0 件のコメント:
コメントを投稿