POI
概述
Apache POI是Apache軟件基金會的開放源碼函式庫,POI提供API給Java程序對Microsoft Office格式檔案讀和寫的功能。
- HSSF - 提供讀寫Microsoft Excel格式檔案的功能。
- XSSF - 提供讀寫Microsoft Excel OOXML格式檔案的功能。
- HWPF - 提供讀寫Microsoft Word格式檔案的功能。
- HSLF - 提供讀寫Microsoft PowerPoint格式檔案的功能。
- HDGF - 提供讀寫Microsoft Visio格式檔案的功能。
使用引入Maven依賴
HSSF概況
HSSF 是Horrible SpreadSheet Format的縮寫,通過HSSF,你可以用純Java代碼來讀取、寫入、修改Excel文件。HSSF 爲讀取操作提供了兩類API:usermodel和eventusermodel,即“用戶模型”和“事件-用戶模型”。
POI EXCEL文檔結構類
HSSFWorkbook excel文檔對象
HSSFSheet excel的sheet
HSSFRow excel的行
HSSFCell excel的單元格
HSSFFont excel字體
HSSFName 名稱
HSSFDataFormat 日期格式
HSSFHeader sheet頭
HSSFFooter sheet尾
HSSFCellStyle cell樣式
HSSFDateUtil 日期
HSSFPrintSetup 打印
HSSFErrorConstants 錯誤信息表
EXCEL常用操作方法
得到Excel常用對象
1 POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:/test.xls"));
2 //得到Excel工作簿對象
3 HSSFWorkbook wb = new HSSFWorkbook(fs);
4 //得到Excel工作表對象
5 HSSFSheet sheet = wb.getSheetAt(0);
6 //得到Excel工作表的行
7 HSSFRow row = sheet.getRow(i);
8 //得到Excel工作表指定行的單元格
9 HSSFCell cell = row.getCell((short) j);
10 cellStyle = cell.getCellStyle();//得到單元格樣式
建立Excel常用對象
HSSFWorkbook wb = new HSSFWorkbook();//創建Excel工作簿對象
HSSFSheet sheet = wb.createSheet("new sheet");//創建Excel工作表對象
HSSFRow row = sheet.createRow((short)0); //創建Excel工作表的行
cellStyle = wb.createCellStyle();//創建單元格樣式
row.createCell((short)0).setCellStyle(cellStyle); //創建Excel工作表指定行的單元格
row.createCell((short)0).setCellValue(1); //設置Excel工作表的值
設置sheet名稱和單元格內容
1 wb.setSheetName(1, "第一張工作表",HSSFCell.ENCODING_UTF_16);
2 cell.setEncoding((short) 1);
3 cell.setCellValue("單元格內容");