2009年4月1日星期三

從Java應用程序存取Microsoft Excel檔案

感謝Apache,現在 利用POI有辦法提供Java應用程序存取Microsoft Excel文件(.xls ) POI 可以從apache.org 下載。 以下是小教程如何寫入Excel文件。 寫Excel文件步驟是:
  1. 創建輸出文件使用FileOutputStream
  2. 創建一個工作簿創建一個實例 HSSFWorkbook
  3. 創建一個新的資產負債表,建立的一個實例 HSSFSheet
  4. 創建字體對象援引法createFont ( )的 HSSFWorkbook
  5. 創建細胞風格對象援引法createCellStyle ( )的 HSSFWorkbook
  6. 創建數據格式對象援引法createDataFormat 階級 HSSFWorkbook
  7. 創建行致電方法createRow ( rowNumber )由實例HSSFSheet
  8. 收件簿到輸出文件。
這裡是一個簡單的程序來寫Excel文件包括2細胞:


import java.util.*;
import org.apache.poi.hssf.usermodel.*;
import java.io.*;
public class WriteSimpleXLS{

public WriteSimpleXLS() {
try{
FileOutputStream fos = new FileOutputStream("output.xls");
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet s = wb.createSheet();
HSSFRow r = null;
HSSFCell c = null;
HSSFCellStyle cs = wb.createCellStyle();
HSSFDataFormat df = wb.createDataFormat();
HSSFFont f = wb.createFont();

//set font
f.setFontHeightInPoints((short) 12);
f.setColor( (short)HSSFFont.COLOR_RED );

//set cell style
cs.setFont(f);
//set data format
cs.setDataFormat(df.getFormat(”#,##0.0〃));
wb.setSheetName(0, “First Sheet”);

//create row
r = s.createRow(0);
//create cell
c = r.createCell((short)0);
c.setCellStyle(cs);
c.setCellValue("Nico");
//create another cell
c = r.createCell((short)1);
c.setCellStyle(cs);
c.setCellValue("Ganteng");

//now that we’re done creating workbook,it’s time to write it to output file
wb.write(fos);
fos.close();
}catch(IOException e){
System.err.println(e.getMessage());
e.printStackTrace();
}
}

public static void main(String[] arg){
WriteSimpleXLS wsx = new WriteSimpleXLS();
}
}

沒有留言: