Apache POI - 核心類



本章解釋Apache POI API下一些對使用Java程式處理Excel檔案至關重要的類和方法。

Workbook(工作簿)

這是所有建立或維護Excel工作簿類的超介面。它屬於org.apache.poi.ss.usermodel包。實現此介面的兩個類如下:

  • HSSFWorkbook - 此類具有讀取和寫入.xls格式的Microsoft Excel檔案的方法。它與MS-Office 97-2003版本相容。

  • XSSFWorkbook - 此類具有讀取和寫入.xls或.xlsx格式的Microsoft Excel和OpenOffice xml檔案的方法。它與MS-Office 2007或更高版本相容。

HSSFWorkbook

它是org.apache.poi.hssf.usermodel包下的高階類。它實現了Workbook介面,用於.xls格式的Excel檔案。以下是此類下的一些方法和建構函式。

類建構函式

序號 建構函式和說明
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介面。以下是此類下的一些方法和建構函式。

類建構函式

序號 建構函式和說明
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物件。

類方法

序號 方法和說明
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文件:https://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電子表格,並允許格式化工作表樣式和工作表資料。

類建構函式

序號 建構函式和說明
1

HSSFSheet(HSSFWorkbook workbook)

由HSSFWorkbook呼叫以從頭建立一個名為HSSFSheet的新工作表。

2

HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)

建立一個代表給定工作表物件的HSSFSheet。

XSSFSheet

這是一個表示Excel電子表格高階表示的類。它位於org.apache.poi.hssf.usermodel包下。

類建構函式

序號 建構函式和說明
1

XSSFSheet()

建立一個新的XSSFSheet - 由XSSFWorkbook呼叫以從頭建立一個工作表。

2

XSSFSheet(PackagePart part, PackageRelationship rel)

建立一個代表給定包部件和關係的XSSFSheet。

類方法

序號 方法和說明
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

Row(行)

這是一個位於org.apache.poi.ss.usermodel包下的介面。它用於電子表格行的高階表示。它是所有代表POI庫中行的類的超介面。

XSSFRow

這是一個位於org.apache.poi.xssf.usermodel包下的類。它實現了Row介面,因此它可以在電子表格中建立行。以下是此類下的一些方法和建構函式。

類方法

序號 方法和說明
1

createCell(int columnIndex)

在行內建立新的單元格並返回它。

2

setHeight(short height)

以短單位設定高度。

有關此類的其餘方法,請訪問以下連結:https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html

Cell(單元格)

這是一個位於org.apache.poi.ss.usermodel包下的介面。它是所有代表電子表格行中單元格的類的超介面。

單元格可以採用各種屬性,例如空白、數字、日期、錯誤等。單元格在新增到行之前應該有自己的編號(基於0)。

XSSFCell

這是一個位於org.apache.poi.xssf.usermodel包下的類。它實現了Cell介面。它是電子表格行中單元格的高階表示。

類方法

序號 方法和說明
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介面。

類建構函式

序號 建構函式和說明
1

XSSFCellStyle(int cellXfId, int cellStyleXfId, StylesTable stylesSource, ThemesTable theme)

從提供的部件建立單元格樣式。

2

XSSFCellStyle(StylesTable stylesSource)

建立一個空的單元格樣式。

類方法

序號 方法和說明
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介面。

巢狀類

此類所有巢狀類都是靜態的,每個類都有其索引。這些巢狀顏色類用於單元格格式化,例如單元格內容、邊框、前景和背景。以下是一些巢狀類。

序號 類名(顏色)
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

類方法

此類只有一個重要的方法,用於獲取索引值。

序號 方法和說明
1

getIndex()

此方法用於獲取巢狀類的索引值。

有關其餘方法和巢狀類,請參考以下連結:https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html

XSSFColor

這是org.apache.poi.xssf.usermodel包下的一個類。它用於表示電子表格中的顏色,並實現Color介面。下面列出了一些它的方法和建構函式。

類建構函式

序號 建構函式和說明
1

XSSFColor()

建立一個新的XSSFColor例項。

2

XSSFColor(byte[] rgb)

使用RGB建立一個新的XSSFColor例項。

3

XSSFColor(java.awt.Color clr)

使用awt包中的Color類建立一個新的XSSFColor例項。

類方法

序號 方法和說明
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介面,因此可以處理工作簿中的不同字型。

類建構函式

序號 建構函式和說明
1

XSSFFont()

建立一個新的XSSFFont例項。

類方法

序號 方法和說明
1

setBold(boolean 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)

為“斜體”屬性設定布林值。

有關其餘方法,請訪問以下連結:https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html

XSSFHyperlink

這是org.apache.poi.xssf.usermodel包下的一個類。它實現了Hyperlink介面,用於將超連結設定到電子表格的單元格內容。

類方法

序號 方法和說明
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介面,用作公式計算和設定超連結的支援類。

類方法

序號 方法和說明
1

createFormulaEvaluator()

建立一個XSSFFormulaEvaluator例項,該物件用於計算公式單元格。

2

createHyperlink(int type)

建立一個新的XSSFHyperlink。

有關其餘方法,請參考以下連結:https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelper.html

XSSFPrintSetup

這是org.apache.poi.xsssf.usermodel包下的一個類。它實現了PrintSetup介面,用於設定列印頁面大小、區域、選項和設定。

類方法

序號 方法和說明
1

setLandscape(boolean ls)

設定一個布林值以允許或阻止橫向列印。

2

setLeftToRight(boolean ltor)

設定列印時是否從左到右或從上到下排序。

3

setPaperSize(short size)

設定紙張大小。

有關其餘方法,請訪問以下連結:https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html

廣告
© . All rights reserved.