現在MS Excel在使用者中作為資料上傳和上報中使用的非常普遍,在java中處理excel是非常簡單的要求,但是j2se中沒有提供相關的類,Apache POI給我們提供了很好的一個工具。通過他來處理excel非常方便,重要的一點是他是open source的。我在這裡簡要的據一個demo描述怎樣讀excel裡面的資料。
import org.apache.poi.hssf.usermodel.*;
import java.io.FileInputStream;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class TestPOI
{
public static void main(String[] args) throws Exception{
POIFSFileSystem fs =
new POIFSFileSystem(new FileInputStream("book1.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(2);
HSSFCell cell = row.getCell((short)3);
String value = cell.getStringCellValue();
System.out.println(" the excel value is " + value);
}
}
在使用POI的時候覺得有一點不好就是如果儲存格的內容是數字,你使用getStringCellValue()的會有異常拋出,所以在用的時候先調用cell.getCellType(),根據cell的類型來調用不同的方法。
POI的網址在 http://jakarta.apache.org/poi/
除了POI外,還有F1 FOR JAVA處理EXCEL,不過他是商業的。功能挺強的,是很強的報表工具,地址在 http://www.reportingengines.com
還有jexcel也可以處理excel網址在http://threebit.net/projects/jexcel.shtml
提到處理excel的話,我覺得webofficecomponent不的不提,覺得他是很好的工具,他是M$提供的com控制項,在網頁中把一個table中的內容顯示在excel web控制項中間,並且可以直接倒出為excel,demo如下:
width="100%" height="90%">