POI操作Excel文件-基礎篇
一.POI簡介
Jakarta POI 是apache的子專案,目標是處理ole2物件。它提供了一組操縱Windows文件的Java API
目前比較成熟的是HSSF介面,處理MS Excel(97-2002)物件。它不象我們僅僅是用csv生成的沒有格式的可以由Excel轉換的東西,而是真正的Excel物件,你可以控制一些屬性如sheet,cell等等。
二.HSSF概況
HSSF 是Horrible SpreadSheet Format的縮寫,也即“討厭的電子表格格式”。 也許HSSF的名字有點滑稽,就本質而言它是一個非常嚴肅、正規的API。通過HSSF,你可以用純Java程式碼來讀取、寫入、修改Excel檔案。
HSSF 為讀取操作提供了兩類API:usermodel和eventusermodel,即“使用者模型”和“事件-使用者模型”。前者很好理解,後者比較抽象,但操作效率要高得多。
三.開始編碼
1 . 準備工作
要求:JDK 1.4+POI開發包
可以到 http://www.apache.org/dyn/closer.cgi/jakarta/poi/ 最新的POI工具包
2 . EXCEL 結構
HSSFWorkbook excell 文件物件介紹
HSSFSheet excell的表單
HSSFRow excell的行
HSSFCell excell的格子單元
HSSFFont excell字型
HSSFName 名稱
HSSFDataFormat 日期格式
在poi1.7中才有以下2項:
HSSFHeader sheet頭
HSSFFooter sheet尾
和這個樣式
HSSFCellStyle cell樣式
輔助操作包括
HSSFDateUtil 日期
HSSFPrintSetup 列印
HSSFErrorConstants 錯誤資訊表
3 .具體用法例項 (採用 usermodel )
如何讀Excel
讀取Excel檔案時,首先生成一個POIFSFileSystem物件,由POIFSFileSystem物件構造一個HSSFWorkbook,該HSSFWorkbook物件就代表了Excel文件。下面程式碼讀取上面生成的Excel檔案寫入的訊息字串:
如何寫excel,
將excel的第一個表單第一行的第一個單元格的值寫成“a test”。
4 . 可參考文件
POI 主頁:http://jakarta.apache.org/poi/,
初學者如何快速上手使用POI HSSF
http://jakarta.apache.org/poi/hssf/quick-guide.html 。
程式碼例子 http://blog.java-cn.com/user1/6749/archives/2005/18347.html
裡面有很多例子程式碼,可以很方便上手。
四.使用心得
POI HSSF 的usermodel包把Excel檔案對映成我們熟悉的結構,諸如Workbook、Sheet、Row、Cell等,它把整個結構以一組物件的形式儲存在記憶體之中,便於理解,操作方便,基本上能夠滿足我們的要求,所以說這個一個不錯的選擇。
Jakarta POI 是apache的子專案,目標是處理ole2物件。它提供了一組操縱Windows文件的Java API
目前比較成熟的是HSSF介面,處理MS Excel(97-2002)物件。它不象我們僅僅是用csv生成的沒有格式的可以由Excel轉換的東西,而是真正的Excel物件,你可以控制一些屬性如sheet,cell等等。
二.HSSF概況
HSSF 是Horrible SpreadSheet Format的縮寫,也即“討厭的電子表格格式”。 也許HSSF的名字有點滑稽,就本質而言它是一個非常嚴肅、正規的API。通過HSSF,你可以用純Java程式碼來讀取、寫入、修改Excel檔案。
HSSF 為讀取操作提供了兩類API:usermodel和eventusermodel,即“使用者模型”和“事件-使用者模型”。前者很好理解,後者比較抽象,但操作效率要高得多。
三.開始編碼
1 . 準備工作
要求:JDK 1.4+POI開發包
可以到 http://www.apache.org/dyn/closer.cgi/jakarta/poi/ 最新的POI工具包
2 . EXCEL 結構
HSSFWorkbook excell 文件物件介紹
HSSFSheet excell的表單
HSSFRow excell的行
HSSFCell excell的格子單元
HSSFFont excell字型
HSSFName 名稱
HSSFDataFormat 日期格式
在poi1.7中才有以下2項:
HSSFHeader sheet頭
HSSFFooter sheet尾
和這個樣式
HSSFCellStyle cell樣式
輔助操作包括
HSSFDateUtil 日期
HSSFPrintSetup 列印
HSSFErrorConstants 錯誤資訊表
3 .具體用法例項 (採用 usermodel )
如何讀Excel
讀取Excel檔案時,首先生成一個POIFSFileSystem物件,由POIFSFileSystem物件構造一個HSSFWorkbook,該HSSFWorkbook物件就代表了Excel文件。下面程式碼讀取上面生成的Excel檔案寫入的訊息字串:
- POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:\test.xls"));
- HSSFWorkbook wb = new HSSFWorkbook(fs);
- } catch (IOException e) {
- e.printStackTrace();
- }
- HSSFSheet sheet = wb.getSheetAt(0);
- HSSFRow row = sheet.getRow(0);
- HSSFCell cell = row.getCell((short) 0);
- String msg = cell.getStringCellValue();
POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:\test.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
} catch (IOException e) {
e.printStackTrace();
}
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
String msg = cell.getStringCellValue();
如何寫excel,
將excel的第一個表單第一行的第一個單元格的值寫成“a test”。
- POIFSFileSystem fs =new POIFSFileSystem(new FileInputStream("workbook.xls"));
- HSSFWorkbook wb = new HSSFWorkbook(fs);
- HSSFSheet sheet = wb.getSheetAt(0);
- HSSFRow row = sheet.getRow(0);
- HSSFCell cell = row.getCell((short)0);
- cell.setCellValue("a test");
- // Write the output to a file
- FileOutputStream fileOut = new FileOutputStream("workbook.xls");
- wb.write(fileOut);
- fileOut.close();
POIFSFileSystem fs =new POIFSFileSystem(new FileInputStream("workbook.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
cell.setCellValue("a test");
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
4 . 可參考文件
POI 主頁:http://jakarta.apache.org/poi/,
初學者如何快速上手使用POI HSSF
http://jakarta.apache.org/poi/hssf/quick-guide.html 。
程式碼例子 http://blog.java-cn.com/user1/6749/archives/2005/18347.html
裡面有很多例子程式碼,可以很方便上手。
四.使用心得
POI HSSF 的usermodel包把Excel檔案對映成我們熟悉的結構,諸如Workbook、Sheet、Row、Cell等,它把整個結構以一組物件的形式儲存在記憶體之中,便於理解,操作方便,基本上能夠滿足我們的要求,所以說這個一個不錯的選擇。
相關文章
- POI操作Excel文件-中級篇Excel
- POI 操作Excel 整理Excel
- Apache POI 操作ExcelApacheExcel
- Apache POI處理Excel文件ApacheExcel
- POI匯入Excel中文API文件ExcelAPI
- Java操作Excel:POI和EasyExcelJavaExcel
- RN API基礎操作篇API
- Java之POI操作Excel表-匯入匯出JavaExcel
- java POI 操作EXCEL小例子+各種屬性JavaExcel
- Springboot操作Poi進行Excel匯入Spring BootExcel
- TypeScript學習文件-基礎篇(完結)TypeScript
- 01-Excel基礎操作-學習筆記Excel筆記
- 04-Excel基礎操作-學習筆記Excel筆記
- 05-Excel基礎操作-學習筆記Excel筆記
- POI 匯出ExcelExcel
- Apache POI 建立 ExcelApacheExcel
- Nginx基礎篇--Linux下操作NginxLinux
- 《MySQL 基礎篇》四:查詢操作MySql
- Rhino基礎操作3 - 出圖篇
- KeyShot基礎操作5 - 動畫篇動畫
- Java Web之POI操作Excel2016模板JavaWebExcel
- java poi操作excel 新增 鎖定單元格保護JavaExcel
- Aapche POI java excel 操作工具包入門JavaExcel
- 位操作基礎篇之位操作全面總結
- poi 操作 PPT,針對 PPTX--圖表篇
- poi解析Excel內容Excel
- java使用poi生成excelJavaExcel
- POI生成EXCEL檔案Excel
- poi的excel匯出Excel
- Excelize 釋出 2.0.1 版本,Go 語言 Excel 文件基礎庫ExcelizeGo
- Excelize 釋出 2.5.0 版本,Go 語言 Excel 文件基礎庫ExcelizeGo
- Excelize 釋出 2.7.1 版本,Go 語言 Excel 文件基礎庫ExcelizeGo
- mongodb基礎整理篇————常規操作[二]MongoDB
- Excelize - Golang 操作 Office Excel 文件類庫ExcelizeGolang
- excel基本操作:基礎、資料條件格式、快捷鍵Excel
- Excelize 釋出 2.6.0 版本,功能強大的 Excel 文件基礎庫Excelize
- MongoDB資料庫操作詳解:基礎篇MongoDB資料庫
- Java架構-Apache POI ExcelJava架構ApacheExcel