[工作] 透过 Apache API操作Excel By Java
Apache的POI网址 : http://poi.apache.org/index.html
现在Apache的POI已经可以做到操作2007版的 xlsx 的副挡名格式,
需要的Jar挡包含了(目前下载了3.10的Beta版)
1. poi-3.10-beta2.jar
以上单独的档案可以直接操作副档名为xls的档案,
2. poi-ooxml-3.10-beta2.jar
3. xmlbeans-2.3.0.jar
4. stax-api-1.0.1.jar
5. dom4j-1.6.1.jar
以上四个档案必须要都包含才可以操作xlsx的档案。
Apache 的Examples 网址 : http://poi.apache.org/spreadsheet/examples.html
一、新建档案 :
1. 副档名XLS档案
Workbook wb = new org.apache.poi.hssf.usermodel.HSSFWorkbook(); FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close();
2. 副档名XLSX档案
Workbook wb = new org.apache.poi.xssf.usermodel.XSSFWorkbook(); FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close();
二、 读取Excel档案:
1. 不需判断档案 :
//透过File取得档案的方式是比FileInputStream使用更少的memory //透过WorkbookFactory是最简单的方式 Workbook wb = WorkbookFactory.create(new File("MyExcel.xls")); Workbook wb = WorkbookFactory.create(new FileInputStream("MyExcel.xls"));
2. XLS 档案 :
//如果要使用HSSFWorkbook 的话 //File NPOIFSFileSytem fs = new NPOIFSFileSystem(new File("file.xls")); HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot()); //FileInputStream NPOIFSFileSytem fs = new NPOIFSFileSystem(myInputStream); HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot());
3. XLSX档案 :
//如果要使用XSSFWorkbook的话 //File OPCPackage pkg = OPCPackage.open(new File("file.xlsx")); XSSFWorkbook wb = new XSSFWorkbook(pkg); //FileInputStream NPOIFSFileSytem fs = new NPOIFSFileSystem(myInputStream); HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot()); pkg.close();