javaでexcelの操作をするAPI
http://jakarta.apache.org/poi/のDownloadから適当なリンクをクリックする。
今回はhttp://ftp.kddilabs.jp/infosystems/apache/jakarta/poi/dev/bin/poi-bin-2.0-RC2-20040102.tar.gzから取得。
解凍して出来たファイルのpoi-2.0-RC2-20040102.jarを適当なディレクトリにコピーする。
サンプルファイルを作成
hoge.java
import java.io.*;
import org.apache.poi.hssf.usermodel.*;
import java.util.Date;
public class hoge{
public static void main(String[] args){
HSSFWorkbook workbook = new HSSFWorkbook();
//シートを2枚作成
HSSFSheet sheet1 = workbook.createSheet("hoge");
HSSFSheet sheet2 = workbook.createSheet("test");
//2枚目のシートの名前を日本語に変更する
workbook.setSheetName(1,"テスト",HSSFWorkbook.ENCODING_UTF_16);
//1枚目のシートにセルを作成する
HSSFRow row = sheet1.createRow(0);
HSSFCell cell = row.createCell((short)1);
HSSFCell cell2 = row.createCell((short)2);
HSSFCell cell3 = row.createCell((short)3);
HSSFCell cell4 = row.createCell((short)4);
HSSFCell cell5 = row.createCell((short)5);
//値を定義
boolean val1 = true;
String val2 = "hogehoge";
Date val3 = new Date();
double val4 = 1234.56;
String val5 = "ほげほげ日本語";
//日本語を使うためcell5をエンコード
cell5.setEncoding(HSSFCell.ENCODING_UTF_16);
//cell3を日付型にセット
HSSFCellStyle styleDate = workbook.createCellStyle();
styleDate.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
cell3.setCellStyle(styleDate);
//セルに値をセット
cell.setCellValue(val1);
cell2.setCellValue(val2);
cell3.setCellValue(val3);
cell4.setCellValue(val4);
cell5.setCellValue(val5);
FileOutputStream out = null;
try{
//ファイルに書き出し
out = new FileOutputStream("hoge.xls");
workbook.write(out);
}catch(IOException e){
System.out.println(e.toString());
}finally{
try{
out.close();
}catch(IOException e){
System.out.println(e.toString());
}
}
}
}
コンパイルして実行。
クラスパスが通っていなければ付け加える。
javac -classpath /j2sdk/jar/poi/poi-2.0-RC2-20040102.jar hoge.java
java -classpath /j2sdk/jar/poi/poi-2.0-RC2-20040102.jar:. hoge
1シート目の一行目に5個の値が入ったファイルができる。