Java POI 以Xlsx Excel 為實務範例,包含讀取、寫入及合併欄位舉例
本篇文章是經驗之談,因為沒有學校教學上會以基本功夫以外來實際開發專案來作範例,所以說明此舉是大多數現在開發系統的成員都必需會讀取或寫入檔案的經驗之談,四筒老師也不例外,但是,老師用發布這篇文章的最新POI 的jar 檔案來範例是屬於Java 主語言。假如,是用C# 請利用關鍵詞如下:c# npoi dll download。
參考POI 的網址:Apache POI - the Java API for Microsoft Documents
參考NPOI 的網址: NPOI 2.4.1 - NuGet Gallery
POI-4.1.2 所需使用參考檔案清單項目
建立寫入Excel 程式範例:
產生檔案結果內容:
讀取Excel 檔案程式範例
讀取測試檔案內容:
結果顯示內容:
建立寫入Excel 程式範例,含字型、顏色、框線、自動換行、內容置中及合併儲存格
產生檔案結果:工作表1
產生檔案結果:工作表2
本篇文章介紹Apache POI的API,其中有關重要的工作,使用Java程序操作Excel文件有下面幾個類別及方法。
活頁簿
這是建立或維護Excel活頁簿的所有類別的對接。它屬於org.apache.poi.ss.usermodel組件。是實現此對接的兩個類別,如下所示:
HSSFWorkbook : 這個類別有讀取和.xls 格式和寫入Microsoft Excel文件的方法。﹝MS-Office97-2003版本兼容﹞
XSSFWorkbook : 這個類別有讀寫Microsoft Excel和OpenOffice的XML文件的格式.xls或.xlsx的方法。﹝MS-Office版本2007以上版本兼容﹞推薦用此類別兩者都可使用
HSSFWorkbook
它是在org.apache.poi.hssf.usermodel組件的高層次的類別。它實現了Workbook 對接,用於Excel文件中的.xls格式。下面列出的是一些本類別下的方法和構造函數。
類別的構造函數
這些構造內的常用參數:
directory:這是從POI文件系統處理的目錄。
fs :它是組件含活頁簿流該POI的文件系統。
preservenodes : 這是決定是否保留其他節點像宏的可選參數。它消耗大量的內存,因爲它存儲在內存中的所有POIFileSystem(如果設置)。
注意:HSSFWorkbook類別組件含了許多方法;然而,它們僅與XLS格式兼容。在本章教學中,重點是在Excel文件格式的最新版本。因此,HSSFWorkbook類別的方法,這裡沒有列出。
XSSFWorkbook
它是用於表示高和低層次Excel文件格式的類別。它屬於org.apache.xssf.usemodel組件,並實現Workbook對接。下面列出的是這個類別的方法和構造函數。
類別的構造函數
類別方法
Sheet
Sheet是在org.apache.poi.ss.usermodel組件的對接,它是建立具有特定名稱的高或低級別的電子表格的所有類別的對接。電子表格的最常見的類別型是工作表,它被表示爲單元的網格。
HSSFSheet
這是在org.apache.poi.hssf.usermodel組件的類別。它可以建立Excel電子表格,它允許在sheet 方式和表數據格式。
類別的構造函數
XSSFSheet
這是代表了Excel電子表格的高級類別代表之一類別。這在org.apache.poi.hssf.usermodel組件下。
類別的構造函數
類別方法
行
這是在org.apache.poi.ss.usermodel組件的對接。它是用於一排的電子表格的高層表示。它是代表了POI庫的行所有類別的對接。
XSSFRow
這是在org.apache.poi.xssf.usermodel組件的類別。它實現了Row對接,因此它可以在電子表格中建立行。下面列出的是這個類別在方法和構造函數。
類別方法
單元格
這是在org.apache.poi.ss.usermodel組件的對接。它是代表了單元在電子表格中的行中的所有類別的對接。
單元格可以使用各種屬性,例如空白,數字,日期,錯誤等單元格被加入到一個行之前應具有(基於0)自己的編號。
XSSFCell
這是在 org.apache.poi.xssf.usermodel組件的類別。它實現了單元格介面。它是單元在電子表格中的行的一個高層次的表示。
字段摘要
下面列出的是一些XSSFCell類別的字段以及它們的描述。
類別方法
XSSFCellStyle
這是在org.apache.poi.xssf.usermodel組件的類別。它將提供關於在電子表格的單元格中的內容的格式可能的信息。它也提供了用於修正該格式的選項。它實現了CellStyle對接。
字段摘要
下表列出了從CellStyle對接繼承一些字段。
類別的構造函數
類別方法
設置邊框的類別型爲單元格的底部邊界
HSSFColor
這是在org.apache.poi.hssf.util組件的類別。它提供了不同的顏色作爲嵌套類別。通常這些嵌套類別是使用自己的索引來表示。它實現了Color對接。
嵌套類別
所有嵌套類別這個類別是靜態的,每個類別都有其索引。這些嵌套色類別用於單元格格式,如單元格內容,邊框,前景和背景。下面列出了一些的嵌套類別。
類別方法
這個類別的只有一個方法是很重要的,並且用於獲取索引值。
XSSFColor
這是在org.apache.poi.xssf.usermodel組件的類別。它是用來表示在電子表格中的顏色。它實現了顏色的對接。下面列出的是它的一些方法和構造函數。
類別的構造函數
類別方法
XSSFFont
這是在org.apache.poi.xssf.usermodel組件的類別。它實現了Font對接,因此它可以處理活頁簿中不同的字體。
類別的構造函數
類別方法
XSSFHyperlink
這是在org.apache.poi.xssf.usermodel組件的類別。它實現了Hyperlink對接。它是用來連結設置爲電子表格的單元格內容。
字段
屬於此類別的字段如下。這裏,字段意味着使用超鏈接的類別型。
類別方法
XSSFCreationHelper
這是在org.apache.poi.xssf.usermodel組件的類別。它實現了CreationHelper對接。它被用作公式求值和設置超文本鏈接支持類別。
類別方法