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.

這是在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