Excelに吐き出す
先日、CSVを作成するプログラムを組んだので、
その延長線として?
Excelを吐き出すプログラムでも試しにつくってみようと思う。
世の中には便利なライブラリがいっぱいあるので、
今回はそれを利用します。
import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRichTextString; public class PoiSample { public static void main(String [] args){ makeFile(); } public static void makeFile() { try{ //新規ワークブックを作成する HSSFWorkbook wb = new HSSFWorkbook(); FileOutputStream fileOut = new FileOutputStream("C:\\Users\\xxx\\making\\PoiSampleBook.xls"); //新規ワークシートを作成する HSSFSheet sheet1 = wb.createSheet(); HSSFSheet sheet2 = wb.createSheet(); //作成したシート名を変更 wb.setSheetName(0,"sheet1"); wb.setSheetName(1,"シート2"); //行オブジェクトの作成(行番号は0スタート) //1行目 HSSFRow row1 = sheet1.createRow(0); //2行目 HSSFRow row2 = sheet1.createRow(1); //セルオブジェクトの作成(セル番号は0スタート) //引数はshort型でキャストしなければならない点に注意 //B列 HSSFCell cellB2 = row2.createCell((short)1); //C列 HSSFCell cellC2 = row2.createCell((short)2); //セルに値を設定する //専用の文字列を作成する。 HSSFRichTextString cellBValue = new HSSFRichTextString("B2"); cellB2.setCellValue(cellBValue); HSSFRichTextString cellCValue = new HSSFRichTextString("C2日です"); cellC2.setCellValue(cellCValue); //作成したワークブックを保存する wb.write(fileOut); fileOut.close(); System.out.println( "Excelファイルの作成が完了しました!"); }catch(Exception e){ e.printStackTrace(); System.out.println("処理が失敗しました"); } } }
けれども、
Eclipseを立ち上げると重いので、
全てコマンドラインでやってみようかと思います。
だから、コンパイル時のライブラリの通し方が面倒くさい。。
- 参考ページ
http://www.atmarkit.co.jp/fjava/onepoint/java/jv_clpath.html
- 実際書いたコマンド
javac -cp poi-contrib-3.0-alpha3-20061212.jar;poi-scratchpad-3.0-alpha3-20061212.jar;poi-3.0-alpha3-20061212.jar PoiSample.java
- JMで起動
java -cp poi-contrib-3.0-alpha3-20061212.jar;poi-scratchpad-3.0-alpha3-20061212.jar;poi-3.0-alpha3-20061212.jar PoiSample
→でも、これだと通らなかった。
- cpを書く場合は、現在のワークフォルダを絶対指定で書き足さなければいけないみたい。
というわけで、実際に書いたものは、
java -cp C:\Users\xxx\making;poi-contrib-3.0-alpha3-20061212.jar;poi-scratchpad-3.0-alpha3-20061212.jar;poi-3.0-alpha3-20061212.jar PoiSample
ちょっとした達成感。
ちょっとした成功。
v(。・ω・。)ィェィ♪