POI簡介(官網:http://poi.apache.org/)java
Apache POI是Apache軟件基金會的開放源碼函式庫,POI提供API給Java程序對Microsoft Office格式檔案讀和寫的功能。自2009-09-28後,推出了3.5版本,提供了對Office2007的支持;spring
關於Apache POI一些重要的地方:apache
1)Apache POI 包含適合Excel97-2007(.xls文件)的HSSF實現.
2)Apache POI XSSF實現用來處理Excel2007文件(.xlsx).
3)Apache POI HSSF和XSSF提供了讀/寫/修改Excel表格的機制.
4)Apache POI 提供了XSSF的一個擴展SXSSF用來處理很是大的Excel工做單元.SXSSF API須要更少的內存,所以當處理很是大的電子表格同時堆內存又有限時,很合適使用.
5)有兩種模式可供選擇--事件模式和用戶模式.事件模式要求更少的內存,由於用tokens來讀取Excel並處理.用戶模式更加面向對象而且容易使用,所以在咱們的示例中使用用戶 模式.
6)Apache POI爲額外的Excel特性提供了強大支持,例如處理公式,建立單元格樣式--顏色,邊框,字體,頭部,腳部,數據驗證,圖像,超連接等. maven
添加maven依賴:測試
1 <!-- 操做excel,doc... --> 2 <dependency> 3 <groupId>org.apache.poi</groupId> 4 <artifactId>poi</artifactId> 5 <version>3.10-FINAL</version> 6 </dependency> 7 <dependency> 8 <groupId>org.apache.poi</groupId> 9 <artifactId>poi-ooxml</artifactId> 10 <version>3.10-FINAL</version> 11 </dependency>
代碼以下:字體
1 package com.yanwu.www.spring_hibernate.util; 2 3 import java.io.FileOutputStream; 4 import java.io.IOException; 5 6 import org.apache.poi.hssf.usermodel.HSSFCell; 7 import org.apache.poi.hssf.usermodel.HSSFCellStyle; 8 import org.apache.poi.hssf.usermodel.HSSFRow; 9 import org.apache.poi.hssf.usermodel.HSSFSheet; 10 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 11 12 public class SimpleExcelWrite{ 13 14 public static void main(String[] args) { 15 16 //第一步建立workbook 17 HSSFWorkbook wb = new HSSFWorkbook(); 18 19 //第二步建立sheet 20 HSSFSheet sheet = wb.createSheet("測試"); 21 22 //第三步建立行row:添加表頭0行 23 HSSFRow row = sheet.createRow(0); 24 HSSFCellStyle style = wb.createCellStyle(); 25 //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //居中 26 27 28 //第四步建立單元格 29 HSSFCell cell = row.createCell(0); //第一個單元格 30 cell.setCellValue("姓名"); 31 cell.setCellStyle(style); 32 33 34 35 cell = row.createCell(1); //第二個單元格 36 cell.setCellValue("年齡"); 37 cell.setCellStyle(style); 38 39 40 //第五步插入數據 41 42 for (int i = 0; i < 5; i++) { 43 //建立行 44 row = sheet.createRow(i+1); 45 //建立單元格而且添加數據 46 row.createCell(0).setCellValue("aa"+i); 47 row.createCell(1).setCellValue(i); 48 49 } 50 51 //第六步將生成excel文件保存到指定路徑下 52 try { 53 FileOutputStream fout = new FileOutputStream("C:\\Users\\IBM_ADMIN\\Desktop\\promotion\\a.xls"); 54 wb.write(fout); 55 fout.close(); 56 } catch (IOException e) { 57 e.printStackTrace(); 58 } 59 60 System.out.println("Excel文件生成成功..."); 61 } 62 63 64 65 } 66 67 68 69
效果:spa