POI核心類
本章介紹了Apache POI的API,它是至關重要的工作,使用Java程序操作Excel文件有下面幾個類和方法。
工作簿
這是創建或維護Excel工作簿的所有類的超接口。它屬於org.apache.poi.ss.usermodel包。是實現此接口的兩個類,如下所示:
HSSFWorkbook : 這個類有讀取和.xls 格式和寫入Microsoft Excel文件的方法。它與微軟Office97-2003版本兼容。
XSSFWorkbook : 這個類有讀寫Microsoft Excel和OpenOffice的XML文件的格式.xls或.xlsx的方法。它與MS-Office版本2007或更高版本兼容。
HSSFWorkbook
它是在org.apache.poi.hssf.usermodel包的高層次的類。它實現了Workbook 接口,用於Excel文件中的.xls格式。下面列出的是一些本類下的方法和構造函數。
類的構造函數
S.No.
構造函數和說明
1
HSSFWorkbook()
從頭開始創建一個新的HSSFWorkbook對象時。
2
HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)
創建一個特定的目錄中一個新的HSSFWworkbook對象。
3
HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)
給定一個POIFSFileSystem對象和特定的目錄中,它創建了一個SSFWorkbook對象讀取指定的工作簿。
4
HSSFWorkbook(java.io.InputStream s)
創建使用輸入流中的新HSSFWorkbook對象時。
5
HSSFWorkbook(java.io.InputStream s, boolean preserveNodes)
構建在輸入流的POI文件系統。
6
HSSFWorkbook(POIFSFileSystem fs)
使用POIFSFileSystem對象構造的新HSSFWorkbook對象時。
7
HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)
給定一個POIFSFileSystem對象時,它會創建一個新的HSSFWorkbook對象時讀取指定的工作簿。
這些構造內的常用參數:
directory : 這是從POI文件系統處理的目錄。
fs :它是包含簿流該POI的文件系統。
preservenodes : 這是決定是否保留其他節點像宏的可選參數。它消耗大量的內存,因爲它存儲在內存中的所有POIFileSystem(如果設置)。
注意:HSSFWorkbook類包含了許多方法;然而,它們僅與XLS格式兼容。在本教程中,重點是在Excel文件格式的最新版本。因此,HSSFWorkbook類的方法,這裏沒有列出。如果需要這些類的方法,那麼請參照POI-HSSFWorkbook類API在 https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.
XSSFWorkbook
它是用於表示高和低層次Excel文件格式的類。它屬於org.apache.xssf.usemodel包,並實現Workbook接口。下面列出的是這個類的方法和構造函數。
類的構造函數
S.No.
構造函數和說明
1
XSSFWorkbook()
從頭開始創建一個新的XSSFworkbook對象。
2
XSSFWorkbook(java.io.File file)
構造從給定文件中的XSSFWorkbook對象。
3
XSSFWorkbook(java.io.InputStream is)
構造一個XSSFWorkbook對象,通過緩衝整個輸入流到內存中,然後爲它打開一個OPCPackage對象。
4
XSSFWorkbook(java.lang.String path)
構建一個給定文件的完整路徑的XSSFWorkbook對象。
類方法
S.No.
方法及描述
1
createSheet()
創建一個XSSFSheet本工作簿,將其添加到表,並返回高層表示。
2
createSheet(java.lang.String sheetname)
創建此工作簿的新表,並返回高層表示。
3
createFont()
創建一個新的字體,並將其添加到工作簿的字體表。
4
createCellStyle()
創建一個新的XSSFCellStyle並將其添加到工作簿的樣式表。
5
createFont()
創建一個新的字體,並將其添加到工作簿的字體表。
6
setPrintArea(int sheetIndex, int startColumn, int endColumn, int startRow,int endRow)
設置一個給定的表按照指定參數的打印區域。
對於此類的其餘的方法,請參閱完整的API文檔:http://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html. 列出了所有方法。
Sheet
Sheet是在org.apache.poi.ss.usermodel包的接口,它是創建具有特定名稱的高或低級別的電子表格的所有類的超接口。電子表格的最常見的類型是工作表,它被表示爲單元的網格。
HSSFSheet
這是在org.apache.poi.hssf.usermodel包的類。它可以創建Excel電子表格,它允許在sheet 方式和表數據格式。
類的構造函數
S.No.
構造函數及描述
1
HSSFSheet(HSSFWorkbook workbook)
創建新HSSFSheet通過調用HSSFWorkbook從頭開始創建一個表。
2
HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)
創建HSSFSheet表示給定表對象。
XSSFSheet
這是代表了Excel電子表格的高級別代表的一類。這在org.apache.poi.hssf.usermodel包下。
類的構造函數
S.No.
構造函數及描述
1
XSSFSheet()
創造了新的XSSFSheet- 調用XSSFWorkbook從頭開始創建一個表。
2
XSSFSheet(PackagePart part, PackageRelationship rel)
創建XSSFSheet表示給定包的一部分和關係。
類方法
S.No.
方法和描述
1
addMergedRegion(CellRangeAddress region)
添加單元的合併區域(因此這些單元格合併形成一個)。
2
autoSizeColumn(int column)
調整列寬,以適應的內容。
3
iterator()
此方法是用於rowIterator()的別名,以允許foreach循環
4
addHyperlink(XSSFHyperlink hyperlink)
註冊超鏈接的集合中的超鏈接此工作表格上
對於此類的其餘的方法,請參閱完整的API在:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html.
行
這是在org.apache.poi.ss.usermodel包的接口。它是用於一排的電子表格的高層表示。它是代表了POI庫的行所有類的超接口。
XSSFRow
這是在org.apache.poi.xssf.usermodel包的類。它實現了Row接口,因此它可以在電子表格中創建行。下面列出的是這個類在方法和構造函數。
類方法
S.No.
描述
1
createCell(int columnIndex)
創建新單元行並返回。
2
setHeight(short height)
設置短單位的高度。
對於此類的其餘的方法,參考如下鏈接:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html
單元格
這是在org.apache.poi.ss.usermodel包的接口。它是代表了單元在電子表格中的行中的所有類的超接口。
單元格可以使用各種屬性,例如空白,數字,日期,錯誤等單元格被添加到一個行之前應具有(基於0)自己的編號。
XSSFCell
這是在 org.apache.poi.xssf.usermodel 包的類。它實現了單元格界面。它是單元在電子表格中的行的一個高層次的表示。
字段摘要
下面列出的是一些XSSFCell類的字段以及它們的描述。
單元格類型
描述
CELL_TYPE_BLANK
代表空白單元格
CELL_TYPE_BOOLEAN
代表布爾單元(true或false)
CELL_TYPE_ERROR
表示在單元的誤差值
CELL_TYPE_FORMULA
表示一個單元格公式的結果
CELL_TYPE_NUMERIC
表示對一個單元的數字數據
CELL_TYPE_STRING
表示對一個單元串(文本)
類方法
S.No.
描述
1
setCellStyle(CellStyle style)
爲單元格設置樣式。
2
setCellType(int cellType)
設置單元格的類型(數字,公式或字符串)。
3
setCellValue(boolean value)
設置單元格一個布爾值
4
setCellValue(java.util.Calendar value)
設置一個日期值的單元格。
5
setCellValue(double value)
設置爲單元格的數值。
6
setCellValue(java.lang.String str)
設置爲單元格的字符串值。
7
setHyperlink(Hyperlink hyperlink)
分配超鏈接到該單元格。
對於這個類的剩餘方法和字段,請訪問以下鏈接查看詳細:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html
XSSFCellStyle
這是在org.apache.poi.xssf.usermodel包的類。它將提供關於在電子表格的單元格中的內容的格式可能的信息。它也提供了用於修正該格式的選項。它實現了CellStyle接口。
字段摘要
下表列出了從CellStyle接口繼承一些字段。
字段名稱
字段描述
ALIGN_CENTER
中心對齊單元格內容
ALIGN_CENTER_SELECTION
中心選擇水平對齊方式
ALIGN_FILL
單元格適應於內容的大小
ALIGN_JUSTIFY
適應單元格內容的寬度
ALIGN_LEFT
左對齊單元格內容
ALIGN_RIGHT
右對齊單元格內容
BORDER_DASH_DOT
使用破折號和點單元格樣式
BORDER_DOTTED
用虛線邊框的單元格樣式
BORDER_DASHED
用虛線邊框的單元格樣式
BORDER_THICK
厚厚的邊框單元格樣式
BORDER_THIN
薄邊框的單元格樣式
VERTICAL_BOTTOM
對齊單元格內容的垂直下方
VERTICAL_CENTER
對齊單元格內容垂直居中
VERTICAL_JUSTIFY
對齊和垂直對齊的單元格內容
VERTICAL_TOP
頂部對齊爲垂直對齊
類的構造函數
S.No.
構造函數及描述
1
XSSFCellStyle(int cellXfId, int cellStyleXfId, StylesTable stylesSource, ThemesTable theme)
創建一個單元格樣式,從所提供的部分
2
XSSFCellStyle(StylesTable stylesSource)
創建一個空的單元樣式
類方法
設置邊框的類型爲單元格的底部邊界
S.No
方法及描述
1
setAlignment(short align)
設置單元格爲水平對齊的類型
2
setBorderBottom(short border)
3
setBorderColor(XSSFCellBorder.BorderSide side, XSSFColor color)
選定的邊框顏色
4
setBorderLeft(Short border)
設置邊界的類型單元格的左邊框
5
setBorderRight(short border)
設置邊框的類型爲單元格的右邊界
6
setBorderTop(short border)
設置邊界的類型的單元上邊框
7
setFillBackgroundColor(XSSFColor color)
設置表示爲XSSFColor值背景填充顏色。
8
setFillForegroundColor(XSSFColor color)
設置表示爲XSSFColor的值前景填充顏色。
9
setFillPattern(short fp)
指定單元格的填充信息模式和純色填充單元。
10
setFont(Font font)
設置此樣式的字體。
11
setRotation(short rotation)
設置的旋轉爲在單元格中文本的程度。
12
setVerticalAlignment(short align)
設置單元類型爲垂直取向。
對於這個類剩下的方法和字段,通過以下鏈接:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html
HSSFColor
這是在org.apache.poi.hssf.util包的類。它提供了不同的顏色作爲嵌套類。通常這些嵌套類是使用自己的索引來表示。它實現了Color接口。
嵌套類
所有嵌套類這個類是靜態的,每個類都有其索引。這些嵌套色類用於單元格格式,如單元格內容,邊框,前景和背景。下面列出了一些的嵌套類。
S.No.
類名(顏色)
1
HSSFColor.AQUA
2
HSSFColor.AUTOMATIC
3
HSSFColor.BLACK
4
HSSFColor.BLUE
5
HSSFColor.BRIGHT_GREEN
6
HSSFColor.BRIGHT_GRAY
7
HSSFColor.CORAL
8
HSSFColor.DARK_BLUE
9
HSSFColor.DARK_GREEN
10
HSSFColor.SKY_BLUE
11
HSSFColor.WHITE
12
HSSFColor.YELLOW
類方法
這個類的只有一個方法是很重要的,並且用於獲取索引值。
S.No.
方法和描述
1
getIndex()
這種方法被用來獲得一個嵌套類的索引值
對於其餘的方法和嵌套類,請參閱以下鏈接:
https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html.
XSSFColor
這是在org.apache.poi.xssf.usermodel包的類。它是用來表示在電子表格中的顏色。它實現了顏色的接口。下面列出的是它的一些方法和構造函數。
類的構造函數
S.No.
Constructor and 描述
1
XSSFColor()
創建XSSFColor的新實例。
2
XSSFColor(byte[] rgb)
創建XSSFColor使用RGB的新實例。
3
XSSFColor(java.awt.Color clr)
創建XSSFColor使用Color類從AWT包的新實例。
類方法
S.No.
方法和描述
1
setAuto(boolean auto)
設置一個布爾值,表示ctColor是自動的,系統ctColor依賴。
2
setIndexed(int indexed)
設置索引ctColor值系統ctColor。
對於其餘的方法,請訪問以下鏈接:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFColor.html.
XSSFFont
這是在org.apache.poi.xssf.usermodel包的類。它實現了Font接口,因此它可以處理工作簿中不同的字體。
類的構造函數
S.No.
構造函數和描述
1
XSSFFont()
創建一個新的XSSFont實例。
類方法
S.No.
方法和描述
1
setBold(boolean bold)
設置「bold」屬性的布爾值。
2
setColor(short color)
設置索引顏色的字體。
3
setColor(XSSFColor color)
設置爲標準Alpha RGB顏色值的字體顏色。
4
setFontHeight(short height)
設置在點的字體高度。
5
setFontName(java.lang.String name)
設置字體的名稱。
6
setItalic(boolean italic)
設置「italic」屬性一個布爾值。
對於其餘的方法,通過以下鏈接:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html.
XSSFHyperlink
這是在org.apache.poi.xssf.usermodel包的類。它實現了Hyperlink接口。它是用來連結設置爲電子表格的單元格內容。
字段
屬於此類的字段如下。這裏,字段意味着使用超鏈接的類型。
字段
描述
LINK_DOCUMENT
用於連接任何其他文件
LINK_EMAIL
用於鏈接的電子郵件
LINK_FILE
用於以任何格式鏈接任何其他文件
LINK_URL
用來連接一個網頁URL
類方法
S.No.
方法及描述
1
setAddress(java.lang.String address)
超鏈接地址。
對於其餘的方法,請訪問以下鏈接:
https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFHyperlink.html
XSSFCreationHelper
這是在org.apache.poi.xssf.usermodel包的類。它實現了CreationHelper接口。它被用作公式求值和設置超文本鏈接支持類。
類方法
S.No.
方法和描述
1
createFormulaEvaluator()
創建一個XSSFFormulaEvaluator例如,結果計算公式的單元格的對象。
2
createHyperlink(int type)
Creates a new XSSFHyperlink.
對於其餘的方法,請參考以下鏈接:https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelper.html.
XSSFPrintSetup
這是在org.apache.poi.xsssf.usermodel包下的類。它實現了PrintSetup接口。它是用來設置打印頁面大小,面積,選項和設置。
類方法
S.No.
方法及說明
1
setLandscape(boolean ls)
設置一個布爾值,允許或阻止橫向打印。
2
setLeftToRight(boolean ltor)
設置是否向左走向右或自上而下的順序,同時打印。
3
setPaperSize(short size)
設置紙張尺寸。
對於其餘的方法,請訪問以下鏈接:https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html