大概07年9月份左右,工做大量用到poi處理表格,經過表格進行數據更新插入,以及數據生成表格等操做,在這裏進行總結,並在下一章總結對word文檔的操做xss
0.首先在excle文件中: HSSFWorkbook是操做Excel2003之前(包括2003)的版本,擴展名是.xls工具
XSSFWorkbook:是操做Excel2007的版本,擴展名是.xlsx,這裏只以這個爲例對象
表格文件操做較爲容易,由於都是一個單元格(Cell)爲單位,很容易選中進行處理。文檔
1.實例化表格對象常見兩種方式:get
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(inputstream); //使用文件流 input
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(path); //經過文件路徑string
2. 而後能夠經過xssfWorkbook.getNumberOfSheets() 得到共有多少sheet頁,來進行遍歷sheet頁ast
我這邊只有一個sheet頁因此經過XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); 拿到第一個sheet對象(getSheetAt(index)方法),也能夠經過xssfSheet .createSheet("新sheet名稱"); 自行建立sheet頁。stream
3.經過 int num = xssfSheet.getLastRowNum();// 得到共有幾行數據,而後遍歷獲取每行數據擴展
XSSFRow row = ws.getRow(i)拿到sheet頁的第幾行 或者row.createRow(i) 本身建立行
通常有幾列本身內心都有數。。。而後就能夠在該行經過列拿到單元格
4.XSSFCell cell = row.getCell(i)獲取單元格對象,或者row.createCell(i)自行建立單元格。cell.setCellValue給設值
5.還有一些其餘輔助工具方法
1.單元格文字樣式 只列舉經常使用
XSSFCellStyle style = xssfWorkbook .createCellStyle();建立樣式對象
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); 設置文字居中
XSSFFont font = xssfWorkbook .createFont();建立文字格式對象
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); 設置文字加粗
style.setFont(font); 將文字加粗樣式添加到style
cell.setCellStyle(style); 給單元格設置最終樣式
2.數據類型處理
Date date = cell.getDateCellValue();來指定要獲取得數據爲日期類型,不然可能會亂轉換。 cell.setCellStyle(Cell.CELL_TYPE_STRING)來制定該單元格數據類型爲string不然可能取到浮點小數,形成取出數據有誤。