Apache POI - Lớp cốt lõi

Chương này giải thích một số lớp và phương thức trong API Apache POI rất quan trọng để hoạt động trên các tệp Excel bằng các chương trình Java.

Sách bài tập

Đây là siêu giao diện của tất cả các lớp tạo hoặc duy trì sổ làm việc Excel. Nó thuộc vềorg.apache.poi.ss.usermodelgói hàng. Hai lớp thực thi giao diện này như sau:

  • HSSFWorkbook- Lớp này có các phương thức đọc và ghi tệp Microsoft Excel ở định dạng .xls. Nó tương thích với MS-Office phiên bản 97–2003.

  • XSSFWorkbook- Lớp này có các phương thức để đọc và ghi các tệp xml của Microsoft Excel và OpenOffice ở định dạng .xls hoặc .xlsx. Nó tương thích với MS-Office phiên bản 2007 trở lên.

HSSFWorkbook

Nó là một lớp cấp cao dưới org.apache.poi.hssf.usermodelgói hàng. Nó thực hiệnWorkbookvà được sử dụng cho các tệp Excel ở định dạng .xls. Dưới đây là một số phương thức và hàm tạo trong lớp này.

Trình tạo lớp

Sr.No. Cấu tạo & Mô tả
1

HSSFWorkbook()

Tạo một đối tượng HSSFWorkbook mới từ đầu.

2

HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)

Tạo một đối tượng HSSFWworkbook mới bên cạnh một thư mục cụ thể.

3

HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)

Cho một đối tượng POIFSFileSystem và một thư mục cụ thể bên trong nó, nó tạo một đối tượng SSFWorkbook để đọc một sổ làm việc được chỉ định.

4

HSSFWorkbook(java.io.InputStream s)

Tạo một đối tượng HSSFWorkbook mới bằng cách sử dụng luồng đầu vào.

5

HSSFWorkbook(java.io.InputStream s, boolean preserveNodes)

Xây dựng hệ thống tệp POI xung quanh luồng đầu vào của bạn.

6

HSSFWorkbook(POIFSFileSystem fs)

Tạo đối tượng HSSFWorkbook mới bằng cách sử dụng đối tượng POIFSFileSystem.

7

HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)

Cho một đối tượng POIFSFileSystem, nó tạo một đối tượng HSSFWorkbook mới để đọc một sổ làm việc được chỉ định.

Các tham số thường được sử dụng bên trong các hàm tạo này là:

  • directory - Đây là thư mục hệ thống tệp POI để xử lý.

  • fs - Đây là hệ thống tệp POI chứa dòng sổ làm việc.

  • preservenodes- Đây là tham số tùy chọn quyết định có bảo toàn các nút khác như macro hay không. Nó tiêu tốn rất nhiều bộ nhớ vì nó lưu trữ tất cả POIFileSystem trong bộ nhớ (nếu được đặt).

Note- Lớp HSSFWorkbook chứa một số phương thức; tuy nhiên chúng chỉ tương thích với định dạng xls. Trong hướng dẫn này, trọng tâm là phiên bản mới nhất của các định dạng tệp Excel. Do đó, các phương thức lớp của HSSFWorkbook không được liệt kê ở đây. Nếu bạn yêu cầu các phương thức lớp này, hãy tham khảo API lớp POI-HSSFWorkbook tạihttps://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.

XSSFWorkbook

Nó là một lớp được sử dụng để đại diện cho cả định dạng tệp Excel cấp cao và cấp thấp. Nó thuộc vềorg.apache.xssf.usemodel gói và thực hiện Workbookgiao diện. Dưới đây là danh sách các phương thức và hàm tạo trong lớp này.

Trình tạo lớp

Sr.No. Cấu tạo & Mô tả
1

XSSFWorkbook()

Tạo một đối tượng XSSFworkbook mới từ đầu.

2

XSSFWorkbook(java.io.File file)

Tạo đối tượng XSSFWorkbook từ một tệp nhất định.

3

XSSFWorkbook(java.io.InputStream is)

Xây dựng một đối tượng XSSFWorkbook, bằng cách đệm toàn bộ luồng đầu vào vào bộ nhớ và sau đó mở một đối tượng OPCPackage cho nó.

4

XSSFWorkbook(java.lang.String path)

Xây dựng đối tượng XSSFWorkbook cung cấp đường dẫn đầy đủ của tệp.

Phương pháp lớp học

Sr.No. Phương pháp & Mô tả
1

createSheet()

Tạo XSSFSheet cho sổ làm việc này, thêm nó vào các trang tính và trả về biểu diễn cấp cao.

2

createSheet(java.lang.String sheetname)

Tạo trang tính mới cho Sổ làm việc này và trả về biểu diễn cấp cao.

3

createFont()

Tạo một phông chữ mới và thêm nó vào bảng phông chữ của sổ làm việc.

4

createCellStyle()

Tạo XSSFCellStyle mới và thêm nó vào bảng kiểu của sổ làm việc.

5

createFont()

Tạo một phông chữ mới và thêm nó vào bảng phông chữ của sổ làm việc.

6

setPrintArea(int sheetIndex, int startColumn, int endColumn, int startRow,int endRow)

Đặt vùng in của một trang tính nhất định theo các thông số được chỉ định.

Đối với các phương thức còn lại của lớp này, hãy tham khảo tài liệu API hoàn chỉnh tại: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html. để có danh sách đầy đủ các phương pháp.

Tấm

Trang tính là một giao diện dưới org.apache.poi.ss.usermodelgói và nó là một siêu giao diện của tất cả các lớp tạo ra các bảng tính cấp cao hoặc cấp thấp với các tên cụ thể. Loại bảng tính phổ biến nhất là bảng tính, được biểu diễn dưới dạng lưới các ô.

HSSFSheet

Đây là một lớp dưới org.apache.poi.hssf.usermodelgói hàng. Nó có thể tạo bảng tính excel và nó cho phép định dạng kiểu trang tính và dữ liệu trang tính.

Trình tạo lớp

Sr.No. Cấu tạo & Mô tả
1

HSSFSheet(HSSFWorkbook workbook)

Tạo HSSFSheet mới được gọi bởi HSSFWorkbook để tạo một trang tính từ đầu.

2

HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)

Tạo một HSSFSheet đại diện cho đối tượng sheet đã cho.

XSSFSheet

Đây là một lớp đại diện cho biểu diễn cấp cao của bảng tính excel. Nó nằm dướiorg.apache.poi.hssf.usermodel gói hàng.

Trình tạo lớp

Sr.No. Cấu tạo & Mô tả
1

XSSFSheet()

Tạo XSSFSheet mới - được gọi là XSSFWorkbook để tạo một trang tính từ đầu.

2

XSSFSheet(PackagePart part, PackageRelationship rel)

Tạo một XSSFSheet đại diện cho phần gói và mối quan hệ nhất định.

Phương pháp lớp học

Sr.No. Phương pháp & Mô tả
1

addMergedRegion(CellRangeAddress region)

Thêm một vùng ô đã hợp nhất (do đó các ô đó tạo thành một).

2

autoSizeColumn(int column)

Điều chỉnh chiều rộng cột để vừa với nội dung.

3

iterator()

Phương thức này là một bí danh cho rowIterator () để cho phép các vòng lặp foreach

4

addHyperlink(XSSFHyperlink hyperlink)

Đăng ký một siêu liên kết trong tập hợp các siêu liên kết trên trang tính này

Đối với các phương thức còn lại của lớp này, hãy tham khảo API hoàn chỉnh tại: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html.

Hàng

Đây là một giao diện dưới org.apache.poi.ss.usermodelgói hàng. Nó được sử dụng để biểu diễn cấp cao của một hàng trong bảng tính. Nó là một siêu giao diện của tất cả các lớp đại diện cho các hàng trong thư viện POI.

XSSFRow

Đây là một lớp dưới org.apache.poi.xssf.usermodelgói hàng. Nó thực hiện giao diện Row, do đó nó có thể tạo các hàng trong bảng tính. Dưới đây là danh sách các phương thức và hàm tạo trong lớp này.

Phương pháp lớp học

Sr.No. Phương pháp & Mô tả
1

createCell(int columnIndex)

Tạo các ô mới trong hàng và trả về nó.

2

setHeight(short height)

Đặt chiều cao theo đơn vị ngắn.

Đối với các phương thức còn lại của lớp này, hãy theo liên kết đã cho https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html

Ô

Đây là một giao diện dưới org.apache.poi.ss.usermodelgói hàng. Nó là một siêu giao diện của tất cả các lớp đại diện cho các ô trong các hàng của bảng tính.

Các ô có thể nhận các thuộc tính khác nhau như trống, số, ngày tháng, lỗi, v.v. Các ô phải có số riêng (dựa trên 0) trước khi được thêm vào một hàng.

XSSFCell

Đây là một lớp dưới org.apache.poi.xssf.usermodelgói hàng. Nó thực hiện giao diện Cell. Nó là một biểu diễn cấp cao của các ô trong các hàng của bảng tính.

Tóm tắt trường

Dưới đây là danh sách một số trường của lớp XSSFCell cùng với mô tả của chúng.

Sr.No. Loại & Mô tả Ô
1

CELL_TYPE_BLANK

Đại diện cho ô trống

2

CELL_TYPE_BOOLEAN

Đại diện cho ô Boolean (đúng hoặc sai)

3

CELL_TYPE_ERROR

Đại diện cho giá trị lỗi trên một ô

4

CELL_TYPE_FORMULA

Biểu thị kết quả công thức trên một ô

5

CELL_TYPE_NUMERIC

Biểu diễn dữ liệu số trên một ô

6

CELL_TYPE_STRING

Biểu diễn chuỗi (văn bản) trên một ô

Phương pháp lớp học

Sr.No. Phương pháp & Mô tả
1

setCellStyle(CellStyle style)

Đặt kiểu cho ô.

2

setCellType(int cellType)

Đặt loại ô (số, công thức hoặc chuỗi).

3

setCellValue(boolean value)

Đặt giá trị boolean cho ô.

4

setCellValue(java.util.Calendar value)

Đặt giá trị ngày tháng cho ô.

5

setCellValue(double value)

Đặt giá trị số cho ô.

6

setCellValue(java.lang.String str)

Đặt giá trị chuỗi cho ô.

7

setHyperlink(Hyperlink hyperlink)

Gán một siêu liên kết cho ô này.

Đối với các phương thức và trường còn lại của lớp này, hãy truy cập liên kết sau: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html

XSSFCellStyle

Đây là một lớp dưới org.apache.poi.xssf.usermodelgói hàng. Nó sẽ cung cấp thông tin có thể có liên quan đến định dạng của nội dung trong một ô của bảng tính. Nó cũng cung cấp các tùy chọn để sửa đổi định dạng đó. Nó thực hiện giao diện CellStyle.

Tóm tắt trường

Bảng sau đây liệt kê một số trường được kế thừa từ giao diện CellStyle.

Sr.No. Trường & Mô tả
1

ALIGN_CENTER

Căn giữa nội dung ô

2

ALIGN_CENTER_SELECTION

Căn chỉnh ngang để chọn trung tâm

3

ALIGN_FILL

Ô vừa với kích thước nội dung

4

ALIGN_JUSTIFY

Điều chỉnh nội dung ô với chiều rộng của nó

5

ALIGN_LEFT

Căn trái nội dung ô

6

ALIGN_RIGHT

Căn phải nội dung ô

7

BORDER_DASH_DOT

Kiểu ô với dấu gạch ngang và dấu chấm

số 8

BORDER_DOTTED

Kiểu ô có đường viền chấm

9

BORDER_DASHED

Kiểu ô có đường viền đứt nét

10

BORDER_THICK

Kiểu ô với đường viền dày

11

BORDER_THIN

Kiểu ô với đường viền mỏng

12

VERTICAL_BOTTOM

Căn chỉnh nội dung ô theo chiều dọc dưới cùng

13

VERTICAL_CENTER

Căn giữa nội dung ô theo chiều dọc

15

VERTICAL_JUSTIFY

Căn chỉnh và căn đều nội dung ô theo chiều dọc

16

VERTICAL_TOP

Căn chỉnh theo chiều dọc được căn trên

Trình tạo lớp

Sr.No. Cấu tạo & Mô tả
1

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

Tạo kiểu ô từ các phần được cung cấp

2

XSSFCellStyle(StylesTable stylesSource)

Tạo kiểu ô trống

Phương pháp lớp học

S. không Phương pháp & Mô tả
1

setAlignment(short align)

Đặt kiểu căn chỉnh ngang cho ô

2

setBorderBottom(short border)

Đặt loại đường viền cho đường viền dưới cùng của ô

3

setBorderColor(XSSFCellBorder.BorderSide side, XSSFColor color)

Đặt màu cho đường viền đã chọn

4

setBorderLeft(Short border)

Đặt loại đường viền cho đường viền bên trái của ô

5

setBorderRight(short border)

Đặt loại đường viền cho đường viền bên phải của ô

6

setBorderTop(short border)

Đặt loại đường viền cho đường viền trên cùng của ô

7

setFillBackgroundColor(XSSFColor color)

Đặt màu tô nền được biểu thị dưới dạng giá trị XSSFColor.

số 8

setFillForegroundColor(XSSFColor color)

Đặt màu tô nền trước được biểu thị dưới dạng giá trị XSSFColor.

9

setFillPattern(short fp)

Chỉ định thông tin điền vào ô cho mẫu và điền ô màu đồng nhất.

10

setFont(Font font)

Đặt phông chữ cho kiểu này.

11

setRotation(short rotation)

Đặt mức độ xoay cho văn bản trong ô.

12

setVerticalAlignment(short align)

Đặt kiểu căn chỉnh dọc cho ô.

Đối với các phương thức và trường còn lại trong lớp này, hãy truy cập liên kết sau: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html

HSSFColor

Đây là một lớp dưới org.apache.poi.hssf.utilgói hàng. Nó cung cấp các màu khác nhau dưới dạng các lớp lồng nhau. Thông thường các lớp lồng nhau này được biểu diễn bằng cách sử dụng các chỉ mục riêng của chúng. Nó thực hiện giao diện Màu.

Các lớp lồng nhau

Tất cả các lớp lồng nhau của lớp này là tĩnh và mỗi lớp có chỉ mục của nó. Các lớp màu lồng nhau này được sử dụng để định dạng ô như nội dung ô, đường viền, nền trước và nền. Liệt kê dưới đây là một số lớp lồng nhau.

Sr.No. Tên lớp (màu sắc)
1 HSSFColor.AQUA
2 HSSFColor.AUTOMATIC
3 HSSFColor.BLACK
4 HSSFColor.BLUE
5 HSSFColor.BRIGHT_GREEN
6 HSSFColor.BRIGHT_GRAY
7 HSSFColor.CORAL
số 8 HSSFColor.DARK_BLUE
9 HSSFColor.DARK_GREEN
10 HSSFColor.SKY_BLUE
11 HSSFColor.WHITE
12 HSSFColor.YELLOW

Phương pháp lớp học

Chỉ một phương thức của lớp này là quan trọng và được sử dụng để lấy giá trị chỉ mục.

Sr.No. Phương pháp & Mô tả
1

getIndex()

Phương thức này được sử dụng để lấy giá trị chỉ mục của một lớp lồng nhau.

Đối với các phương thức còn lại và các lớp lồng nhau, hãy tham khảo liên kết sau: https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html

XSSFColor

Đây là một lớp dưới org.apache.poi.xssf.usermodelgói hàng. Nó được sử dụng để biểu thị màu trong bảng tính. Nó thực hiện giao diện Màu. Dưới đây là một số phương thức và hàm tạo của nó.

Trình tạo lớp

Sr.No. Cấu tạo & Mô tả
1

XSSFColor()

Tạo một phiên bản XSSFColor mới.

2

XSSFColor(byte[] rgb)

Tạo một phiên bản XSSFColor mới bằng RGB.

3

XSSFColor(java.awt.Color clr)

Tạo một phiên bản XSSFColor mới bằng cách sử dụng lớp Màu từ gói awt.

Phương pháp lớp học

Sr.No. Phương pháp & Mô tả
1

setAuto(boolean auto)

Đặt giá trị boolean để chỉ ra rằng ctColor là tự động và ctColor hệ thống phụ thuộc.

2

setIndexed(int indexed)

Đặt giá trị ctColor được lập chỉ mục làm ctColor hệ thống.

Đối với các phương pháp còn lại, hãy truy cập liên kết sau: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFColor.html

XSSFFont

Đây là một lớp dưới org.apache.poi.xssf.usermodelgói hàng. Nó thực hiện giao diện Phông chữ và do đó nó có thể xử lý các phông chữ khác nhau trong sổ làm việc.

Trình tạo lớp

Sr.No. Cấu tạo & Mô tả
1

XSSFFont()

Tạo một phiên bản XSSFont mới.

Phương pháp lớp học

Sr.No. Phương pháp & Mô tả
1

setBold(boolean bold)

Đặt giá trị Boolean cho thuộc tính "bold".

2

setColor(short color)

Đặt màu được lập chỉ mục cho phông chữ.

3

setColor(XSSFColor color)

Đặt màu cho phông chữ ở giá trị màu Chuẩn Alpha RGB.

4

setFontHeight(short height)

Đặt chiều cao phông chữ theo điểm.

5

setFontName(java.lang.String name)

Đặt tên cho phông chữ.

6

setItalic(boolean italic)

Đặt giá trị Boolean cho thuộc tính 'italic'.

Đối với các phương pháp còn lại, hãy truy cập liên kết sau: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html

XSSFHyperlink

Đây là một lớp dưới org.apache.poi.xssf.usermodelgói hàng. Nó thực hiện giao diện Hyperlink. Nó được sử dụng để đặt siêu kết nối đến nội dung ô của bảng tính.

Lĩnh vực

Các trường của lớp này như sau. Ở đây, các trường có nghĩa là các loại siêu liên kết được sử dụng.

Sr.No. Trường & Mô tả
1

LINK_DOCUMENT

Được sử dụng để liên kết bất kỳ tài liệu nào khác

2

LINK_EMAIL

Dùng để liên kết email

3

LINK_FILE

Được sử dụng để liên kết bất kỳ tệp nào khác ở bất kỳ định dạng nào

4

LINK_URL

Được sử dụng để liên kết một URL web

Phương pháp lớp học

Sr.No. Phương pháp & Mô tả
1

setAddress(java.lang.String address)

Địa chỉ siêu kết nối.

Đối với các phương pháp còn lại, hãy truy cập liên kết sau: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFHyperlink.html

XSSFCreationHelper

Đây là một lớp dưới org.apache.poi.xssf.usermodelgói hàng. Nó thực hiện giao diện CreationHelper. Nó được sử dụng như một lớp hỗ trợ để đánh giá công thức và thiết lập siêu liên kết.

Phương thức lớp

Sr.No. Phương pháp & Mô tả
1

createFormulaEvaluator()

Tạo một phiên bản XSSFFormulaEvaluator, đối tượng đánh giá các ô công thức.

2

createHyperlink(int type)

Tạo liên kết XSSFHyperlink mới.

Đối với các phương pháp còn lại, hãy tham khảo liên kết sau: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelper.html

XSSFPrintSetup

Đây là một lớp dưới org.apache.poi.xsssf.usermodelgói hàng. Nó thực hiệnPrintSetupgiao diện. Nó được sử dụng để đặt kích thước trang in, diện tích, tùy chọn và cài đặt.

Phương pháp lớp học

Sr.No. Phương pháp & Mô tả
1

setLandscape(boolean ls)

Đặt giá trị boolean để cho phép hoặc chặn in ngang.

2

setLeftToRight(boolean ltor)

Đặt chuyển từ trái sang phải hoặc từ trên xuống theo thứ tự trong khi in.

3

setPaperSize(short size)

Đặt kích thước giấy.

Đối với các phương pháp còn lại, hãy truy cập liên kết sau: https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html