Apache POI
阿新 • • 發佈:2017-08-05
pri 實現 java com aik 已運行 類型 logs eat
示例2程序如下:
1、創建字體,設置其為紅色、粗體:
Apache POI 用Java編寫的免費開源的跨平臺的 Java API,Apache POI提供API給Java程式對Microsoft Office格式檔案讀和寫的功能。POI為“Poor Obfuscation Implementation”的首字母縮寫,意為“可憐的模糊實現”。
Apache POI是創建和維護操作各種符合Office Open XML(OOXML)標準和微軟的OLE 2復合文檔格式(OLE2)的Java API。用它可以使用Java讀取和創建,修改MS Excel文件.而且,還可以使用Java讀取和創建MS Word和MSPowerPoint文件。Apache POI 提供Java操作Excel解決方案(適用於Excel97-2008)。
HSSF- 提供讀寫Microsoft Excel XLS格式檔案的功能。 XSSF - 提供讀寫Microsoft Excel OOXML XLSX格式檔案的功能。 HWPF - 提供讀寫Microsoft Word DOC格式檔案的功能。 HSLF - 提供讀寫Microsoft PowerPoint格式檔案的功能。 HDGF - 提供讀Microsoft Visio格式檔案的功能。 HPBF - 提供讀Microsoft Publisher格式檔案的功能。 HSMF- 提供讀Microsoft Outlook格式檔案的功能。
創建Excel 文檔
示例1將演示如何利用Jakarta POI API 創建Excel 文檔。 示例1程序如下:1import org.apache.poi.hssf.usermodel.HSSFWorkbook; 2 import org.apache.poi.hssf.usermodel.HSSFSheet; 3 import org.apache.poi.hssf.usermodel.HSSFRow; 4 import org.apache.poi.hssf.usermodel.HSSFCell; 5 import java.io.FileOutputStream; 6 public class CreateXL { 7 /** Excel 文件要存放的位置,假定在D盤下*/ 8 publicstatic String outputFile="D:\\test.xls"; 9 public static void main(String argv[]){ 10 try{ 11 // 創建新的Excel 工作簿 12 HSSFWorkbook workbook = new HSSFWorkbook(); 13 // 在Excel工作簿中建一工作表,其名為缺省值 14 // 如要新建一名為"效益指標"的工作表,其語句為: 15 // HSSFSheet sheet = workbook.createSheet("sheet1"); 16 HSSFSheet sheet = workbook.createSheet(); 17 // 在索引0的位置創建行(第一行) 18 HSSFRow row = sheet.createRow((short)0); 19 //在索引0的位置創建單元格(第一列) 20 HSSFCell cell = row.createCell((short) 0); 21 // 定義單元格為字符串類型(Excel-設置單元格格式-數字-文本;不設置默認為“常規”,也可以設置成其他的,具體設置參考相關文檔) 22 cell.setCellType(HSSFCell.CELL_TYPE_STRING); 23 // 在單元格中輸入一些內容 24 cell.setCellValue("你要輸入的內容"); 25 // 新建一輸出文件流 26 FileOutputStream fOut = new FileOutputStream(outputFile); 27 // 把相應的Excel 工作簿存盤 28 workbook.write(fOut); 29 fOut.flush(); 30 // 操作結束,關閉文件 31 fOut.close(); 32 System.out.println("文件生成"); 33 }catch(Exception e) { 34 System.out.println("已運行 xlCreate() : " + e ); 35 } 36 } 37 }
讀取Excel文檔中的數據
示例2將演示如何讀取Excel文檔中的數據。假定在D盤JTest目錄下有一個文件名為gongye.xls的Excel文件。示例2程序如下:
1 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 2 import org.apache.poi.hssf.usermodel.HSSFSheet; 3 import org.apache.poi.hssf.usermodel.HSSFRow; 4 import org.apache.poi.hssf.usermodel.HSSFCell; 5 import java.io.FileInputStream; 6 7 public class ReadXL { 8 /** Excel文件的存放位置。註意是正斜線*/ 9 public static String fileToBeRead="D:\\test1.xls"; 10 11 public static void main(String argv[]){ 12 try{ 13 // 創建對Excel工作簿文件的引用 14 HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead)); 15 // 創建對工作表的引用。 16 // 本例是按名引用(讓我們假定那張表有著缺省名"Sheet1") 17 HSSFSheet sheet = workbook.getSheet("Sheet1"); 18 // 也可用getSheetAt(int index)按索引引用, 19 // 在Excel文檔中,第一張工作表的缺省索引是0, 20 // 其語句為:HSSFSheet sheet = workbook.getSheetAt(0); 21 // 讀取左上端單元 22 HSSFRow row = sheet.getRow(0); 23 HSSFCell cell = row.getCell((short)0); 24 // 輸出單元內容,cell.getStringCellValue()就是取所在單元的值 25 System.out.println("左上端單元是: " + cell.getStringCellValue()); 26 }catch(Exception e) { 27 System.out.println("已運行xlRead() : " + e ); 28 } 29 } 30 }
設置單元格格式
在這裏,我們將只介紹一些和格式設置有關的語句,我們假定workbook就是對一個工作簿的引用。在Java中,第一步要做的就是創建和設置字體和單元格的格式,然後再應用這些格式:1、創建字體,設置其為紅色、粗體:
1 HSSFFont font = workbook.createFont(); 2 font.setColor(HSSFFont.COLOR_RED); 3 font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);2、創建格式
1 HSSFCellStyle cellStyle= workbook.createCellStyle(); 2 cellStyle.setFont(font);3、應用格式
1 HSSFCell cell = row.createCell((short) 0); 2 3 cell.setCellStyle(cellStyle); 4 cell.setCellType(HSSFCell.CELL_TYPE_STRING); 5 cell.setCellValue("標題 ");
Apache POI