410013796724260
• Webmoney
R335386147728
Z369087728698
Apache POI, взаимодействие с ExcelApache POI представляет собой API, который позволяет использовать файлы MS Office в Java приложениях. Данная библиотека разрабатывается и распространяется Apache Software Foundation и носит открытый характер. Apache POI включает классы и методы для чтения и записи информации в документы MS Office. Компоненты Apache POIОписание компонентов
Список компонентов
Подключение Apache POI к проектуДля подключения Apache POI к проекту необходимо скачать соответствующие библиотеки с официального сайта https://poi.apache.org/download.html. Если в проекте используется фреймворк maven, то необходимо установить одну из следующих зависимостей (версия может быть более новой) :
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.16</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.16</version>
</dependency>
На странице описания примера чтения файлов Excel приведен проект, включающий необходимый набор файлов библиотеки Apache POI (poi-3.16.jar, poi-ooxml-3.16.jar, poi-ooxml-schemas-3.16.jar) и сопутствующих библиотек. На странице рассматриваются следующие классы, используемые для работы с файлами Excel из приложений Java.
Поскольку описание всех классов и методов не разместить на одной странице, то ниже по тексту приводятся ссылки для перехода к исходной документации. Классы и методы Apache POI для работы с файлами ExcelРабочая книга HSSFWorkbook, XSSFWorkbook
Конструкторы класса HSSFWorkbook
HSSFWorkbook ();
HSSFWorkbook (InternalWorkbook book);
HSSFWorkbook (POIFSFileSystem fs);
HSSFWorkbook (NPOIFSFileSystem fs);
HSSFWorkbook (POIFSFileSystem fs,
boolean preserveNodes);
HSSFWorkbook (DirectoryNode directory,
POIFSFileSystem fs,
boolean preserveNodes);
HSSFWorkbook (DirectoryNode directory,
boolean preserveNodes);
HSSFWorkbook (InputStream s);
HSSFWorkbook (InputStream s,
boolean preserveNodes);
preservenodes является необязательным параметром, который определяет необходимость сохранения узлов типа макросы. Конструкторы класса XSSFWorkbookXSSFWorkbook (); // workbookType создать .xlsx или .xlsm XSSFWorkbook (XSSFWorkbookType workbookType); XSSFWorkbook (OPCPackage pkg ); XSSFWorkbook (InputStream is ); XSSFWorkbook (File file); XSSFWorkbook (String path); Основные методы HSSFWorkbook, XSSFWorkbook
С полным перечнем всех методов класса XSSFWorkbook можно познакомиться на странице http://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html. Классы листов книги, HSSFSheet, XSSFSheet
Классы HSSFSheet, XSSFSheet включают свойства и методы создания строк, определения размера колонок, слияния ячеек в одну область и т.д. Основные методы классов работы с листами
С полным перечнем всех методов класса XSSFSheet можно познакомиться на странице https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html Классы строк HSSFRow, XSSFRow
Классы HSSFRow, XSSFRow включают свойства и методы работы со строками, создания ячеек в строке и т.д. Основные методы классов HSSFRow, XSSFRow
С полным перечнем всех методов класса XSSFRow можно познакомиться на странице http://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html Классы ячеек HSSFCell, XSSFCellЯчейки электронной таблицы используются для размещения информации. В ячейке может быть представлено числовое значение, текст или формула. Также ячейка может содержать комментарий. Классы HSSFCell, XSSFCell включают свойства и методы работы с ячейками таблицы.
Основные методы классов HSSFCell, XSSFCell
С полным перечнем всех методов класса XSSFCell можно познакомиться на странице http://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html Классы стилей ячеек HSSFCellStyle, XSSFCellStyleС полным перечнем всех свойств и методов класса XSSFCellStyle можно познакомиться на странице http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/CellStyle.html Ниже в качестве примера представлен метод, формирующий стиль ячейки, в которой :
private XSSFCellStyle createCellStyle(XSSFWorkbook book)
{
BorderStyle thin = BorderStyle.THIN;
short black = IndexedColors.BLACK.getIndex();
XSSFCellStyle style = book.createCellStyle();
style.setWrapText(true);
style.setAlignment (HorizontalAlignment.CENTER);
style.setVerticalAlignment(VerticalAlignment .CENTER);
style.setBorderTop (thin);
style.setBorderBottom (thin);
style.setBorderRight (thin);
style.setBorderLeft (thin);
style.setTopBorderColor (black);
style.setRightBorderColor (black);
style.setBottomBorderColor(black);
style.setLeftBorderColor (black);
return style;
}
Метод setWrapText позволяет определить флаг переноса текста в ячейке согласно ее размеру (ширине). Чтобы перенести текст принудительно, можно в текстовой строке установить символы CRCL, например "Разделитель\r\nтекста". Классы шрифтов HSSFFont, XSSFFontС полным перечнем всех свойств и методов класса XSSFFont можно познакомиться на странице http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/Font.html Ниже в качестве примера представлен метод, формирующий шрифт типа "Times New Roman" :
private XSSFFont createCellFont(XSSFWorkbook book)
{
XSSFFont font = workBook.createFont();
font.setFontHeightInPoints((short) 12);
font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
font.setFontName("Times New Roman");
return(font);
}
. . .
HSSFCellStyle style = book.createCellStyle();
style.setFont(createCellFont(book));
Примеры создания файлов Excel и определение стилей ячеек рассмотрены здесь. |
