プログラムを動かしてみることにします。
今回は、エクセルファイルの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 件のコメント:
コメントを投稿