Apache POI - Основные классы
В этой главе объясняется несколько классов и методов Apache POI API, которые критически важны для работы с файлами Excel с использованием программ Java.
Рабочая тетрадь
Это супер-интерфейс всех классов, которые создают или поддерживают книги Excel. Он принадлежит кorg.apache.poi.ss.usermodelпакет. Два класса, реализующие этот интерфейс, следующие:
HSSFWorkbook- Этот класс имеет методы для чтения и записи файлов Microsoft Excel в формате .xls. Он совместим с версиями MS-Office 97–2003.
XSSFWorkbook- В этом классе есть методы для чтения и записи файлов Microsoft Excel и OpenOffice xml в формате .xls или .xlsx. Он совместим с версиями MS-Office 2007 и новее.
HSSFWorkbook
Это класс высокого уровня под org.apache.poi.hssf.usermodelпакет. Он реализуетWorkbookинтерфейс и используется для файлов Excel в формате .xls. Ниже перечислены некоторые методы и конструкторы этого класса.
Конструкторы классов
Sr. 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) Создает новый объект HSSFWorkbook, используя объект POIFSFileSystem. |
7 | HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes) Учитывая объект POIFSFileSystem, он создает новый объект HSSFWorkbook для чтения указанной книги. |
Часто используемые параметры внутри этих конструкторов:
directory - Это каталог файловой системы POI, из которого выполняется обработка.
fs - Это файловая система POI, которая содержит поток книги.
preservenodes- Это необязательный параметр, который определяет, следует ли сохранять другие узлы, такие как макросы. Он потребляет много памяти, поскольку хранит всю систему POIFileSystem в памяти (если установлен).
Note- Класс HSSFWorkbook содержит ряд методов; однако они совместимы только с форматом xls. В этом руководстве основное внимание уделяется последней версии форматов файлов Excel. Следовательно, методы класса HSSFWorkbook здесь не перечислены. Если вам требуются эти методы класса, обратитесь к API класса POI-HSSFWorkbook по адресуhttps://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.
XSSFWorkbook
Это класс, который используется для представления форматов файлов Excel как высокого, так и низкого уровня. Он принадлежит кorg.apache.xssf.usemodel пакет и реализует Workbookинтерфейс. Ниже перечислены методы и конструкторы этого класса.
Конструкторы классов
Sr. 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 по полному пути к файлу. |
Методы класса
Sr. 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 по адресу: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html. для полного списка методов.
Лист
Лист - это интерфейс под org.apache.poi.ss.usermodelпакет, и это супер-интерфейс всех классов, которые создают электронные таблицы высокого или низкого уровня с определенными именами. Самый распространенный тип электронной таблицы - это рабочий лист, который представлен в виде сетки ячеек.
HSSFSheet
Это класс под org.apache.poi.hssf.usermodelпакет. Он может создавать электронные таблицы Excel и позволяет форматировать стиль таблицы и данные таблицы.
Конструкторы классов
Sr. No. | Конструктор и описание |
---|---|
1 | HSSFSheet(HSSFWorkbook workbook) Создает новый HSSFSheet, вызываемый HSSFWorkbook для создания листа с нуля. |
2 | HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet) Создает HSSFSheet, представляющий данный объект листа. |
XSSFSheet
Это класс, который представляет собой высокоуровневое представление электронной таблицы Excel. Это подorg.apache.poi.hssf.usermodel пакет.
Конструкторы классов
Sr. No. | Конструктор и описание |
---|---|
1 | XSSFSheet() Создает новый XSSFSheet - вызывается XSSFWorkbook для создания листа с нуля. |
2 | XSSFSheet(PackagePart part, PackageRelationship rel) Создает XSSFSheet, представляющий данную часть пакета и взаимосвязь. |
Методы класса
Sr. 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, поэтому может создавать строки в электронной таблице. Ниже перечислены методы и конструкторы этого класса.
Методы класса
Sr. 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пакет. Он реализует интерфейс Cell. Это высокоуровневое представление ячеек в строках электронной таблицы.
Резюме поля
Ниже перечислены некоторые поля класса XSSFCell вместе с их описанием.
Sr. No. | Тип и описание ячейки |
---|---|
1 | CELL_TYPE_BLANK Представляет пустую ячейку |
2 | CELL_TYPE_BOOLEAN Представляет логическую ячейку (истина или ложь) |
3 | CELL_TYPE_ERROR Представляет значение ошибки в ячейке |
4 | CELL_TYPE_FORMULA Представляет результат формулы в ячейке |
5 | CELL_TYPE_NUMERIC Представляет числовые данные в ячейке |
6 | CELL_TYPE_STRING Представляет строку (текст) в ячейке |
Методы класса
Sr. 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.
Sr. No. | Поле и описание |
---|---|
1 | ALIGN_CENTER Выровнять по центру содержимое ячейки |
2 | ALIGN_CENTER_SELECTION Выравнивание по центру по горизонтали |
3 | ALIGN_FILL Ячейка соответствует размеру содержимого |
4 | ALIGN_JUSTIFY Подогнать содержимое ячейки к ее ширине |
5 | ALIGN_LEFT Выровнять содержимое ячейки по левому краю |
6 | ALIGN_RIGHT Выровнять содержимое ячейки по правому краю |
7 | BORDER_DASH_DOT Стиль ячейки с тире и точкой |
8 | BORDER_DOTTED Стиль ячейки с пунктирной рамкой |
9 | BORDER_DASHED Стиль ячейки с пунктирной рамкой |
10 | BORDER_THICK Стиль ячейки с толстой рамкой |
11 | BORDER_THIN Стиль ячейки с тонкой рамкой |
12 | VERTICAL_BOTTOM Выровняйте содержимое ячейки по вертикали внизу |
13 | VERTICAL_CENTER Выровняйте содержимое ячейки по вертикали по центру |
15 | VERTICAL_JUSTIFY Выровняйте и выровняйте содержимое ячейки по вертикали |
16 | VERTICAL_TOP Вертикальное выравнивание по верхнему краю |
Конструкторы классов
Sr. 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.
Вложенные классы
Все вложенные классы этого класса статичны, и каждый класс имеет свой индекс. Эти вложенные классы цвета используются для форматирования ячеек, такого как содержимое ячейки, граница, передний план и фон. Ниже перечислены некоторые из вложенных классов.
Sr. No. | Имена классов (цвета) |
---|---|
1 | HSSFColor.AQUA |
2 | HSSFColor.АВТОМАТИЧЕСКИЙ |
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 |
Методы класса
Важен только один метод этого класса, который используется для получения значения индекса.
Sr. No. | Метод и описание |
---|---|
1 | getIndex() Этот метод используется для получения значения индекса вложенного класса. |
Для остальных методов и вложенных классов перейдите по следующей ссылке: https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html
XSSFColor
Это класс под org.apache.poi.xssf.usermodelпакет. Он используется для представления цвета в электронной таблице. Он реализует интерфейс Color. Ниже перечислены некоторые из его методов и конструкторов.
Конструкторы классов
Sr. No. | Конструктор и описание |
---|---|
1 | XSSFColor() Создает новый экземпляр XSSFColor. |
2 | XSSFColor(byte[] rgb) Создает новый экземпляр XSSFColor с использованием RGB. |
3 | XSSFColor(java.awt.Color clr) Создает новый экземпляр XSSFColor, используя класс Color из пакета awt. |
Методы класса
Sr. 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 и, следовательно, может обрабатывать разные шрифты в книге.
Конструктор классов
Sr. No. | Конструктор и описание |
---|---|
1 | XSSFFont() Создает новый экземпляр XSSFont. |
Методы класса
Sr. No. | Метод и описание |
---|---|
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пакет. Он реализует интерфейс гиперссылки. Он используется для установки гиперссылки на содержимое ячейки электронной таблицы.
Поля
Поля этого класса следующие. Здесь поля означают типы используемых гиперссылок.
Sr. No. | Поле и описание |
---|---|
1 | LINK_DOCUMENT Используется для ссылки на любой другой документ |
2 | LINK_EMAIL Используется для ссылки на электронную почту |
3 | LINK_FILE Используется для ссылки на любой другой файл в любом формате |
4 | LINK_URL Используется для ссылки на веб-URL |
Методы класса
Sr. 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. Он используется в качестве класса поддержки для вычисления формул и настройки гиперссылок.
Методы класса
Sr. No. | Метод и описание |
---|---|
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интерфейс. Он используется для установки размера, области, параметров и настроек страницы печати.
Методы класса
Sr. 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