apache poi это что

Project News

The Apache POI team is pleased to announce the release of 5.1.0. Several dependencies were updated to their latest versions to pick up security fixes and other improvements.

A summary of changes is available in the Release Notes. A full list of changes is available in the change log. People interested should also follow the dev list to track progress.

See the downloads page for more details.

POI requires Java 8 or newer since version 4.0.1.

Description:
When parsing XML files using XMLBeans 2.6.0 or below, the underlying parser created by XMLBeans could be susceptible to XML External Entity (XXE) attacks.

This issue was fixed a few years ago but on review, we decided we should have a CVE to raise awareness of the issue.

Mitigation:
Affected users are advised to update to Apache XMLBeans 3.0.0 or above which fixes this vulnerability. XMLBeans 4.0.0 or above is preferable.

Description:
When using the tool XSSFExportToXml to convert user-provided Microsoft Excel documents, a specially crafted document can allow an attacker to read files from the local filesystem or from internal network resources via XML External Entity (XXE) Processing.

Mitigation:
Apache POI 4.1.0 and before: users who do not use the tool XSSFExportToXml are not affected. Affected users are advised to update to Apache POI 4.1.1 which fixes this vulnerability.

Credit: This issue was discovered by Artem Smotrakov from SAP

The Apache POI team is pleased to announce the release of XMLBeans 3.1.0. Featured are a handful of bug fixes.

The Apache POI project has unretired the XMLBeans codebase and is maintaining it as a sub-project, due to its importance in the poi-ooxml codebase.

A summary of changes is available in the Release Notes. People interested should also follow the POI dev list to track progress.

The XMLBeans JIRA project has been reopened and feel free to open issues.

POI 4.1.0 uses XMLBeans 3.1.0.

XMLBeans requires Java 6 or newer since version 3.0.2.

We did some work to verify that compilation with Java 11 is working and that all unit-tests pass.

See the details in the FAQ entry.

Mission Statement

The Apache POI Project’s mission is to create and maintain Java APIs for manipulating various file formats based upon the Office Open XML standards (OOXML) and Microsoft’s OLE 2 Compound Document format (OLE2). In short, you can read and write MS Excel files using Java. In addition, you can read and write MS Word and MS PowerPoint files using Java. Apache POI is your Java Excel solution (for Excel 97-2008). We have a complete API for porting other OOXML and OLE2 formats and welcome others to participate.

OLE2 files include most Microsoft Office files such as XLS, DOC, and PPT as well as MFC serialization API based file formats. The project provides APIs for the OLE2 Filesystem (POIFS) and OLE2 Document Properties (HPSF).

Office OpenXML Format is the new standards based XML file format found in Microsoft Office 2007 and 2008. This includes XLSX, DOCX and PPTX. The project provides a low level API to support the Open Packaging Conventions using openxml4j.

For each MS Office application there exists a component module that attempts to provide a common high level Java api to both OLE2 and OOXML document formats. This is most developed for Excel workbooks (SS=HSSF+XSSF). Work is progressing for Word documents (WP=HWPF+XWPF) and PowerPoint presentations (SL=HSLF+XSLF).

The project has some support for Outlook (HSMF). Microsoft opened the specifications to this format in October 2007. We would welcome contributions.

As a general policy we collaborate as much as possible with other projects to provide this functionality. Examples include: Cocoon for which there are serializers for HSSF; Open Office.org with whom we collaborate in documenting the XLS format; and Tika / Lucene, for which we provide format interpretors. When practical, we donate components directly to those projects for POI-enabling them.

Why should I use Apache POI?

A major use of the Apache POI api is for Text Extraction applications such as web spiders, index builders, and content management systems.

So why should you use POIFS, HSSF or XSSF?

You’d use POIFS if you had a document written in OLE 2 Compound Document Format, probably written using MFC, that you needed to read in Java. Alternatively, you’d use POIFS to write OLE 2 Compound Document Format if you needed to inter-operate with software running on the Windows platform. We are not just bragging when we say that POIFS is the most complete and correct implementation of this file format to date!

You’d use HSSF if you needed to read or write an Excel file using Java (XLS). You’d use XSSF if you need to read or write an OOXML Excel file using Java (XLSX). The combined SS interface allows you to easily read and write all kinds of Excel files (XLS and XLSX) using Java. Additionally there is a specialized SXSSF implementation which allows to write very large Excel (XLSX) files in a memory optimized way.

Components

The Apache POI Project provides several component modules some of which may not be of interest to you. Use the information on our Components page to determine which jar files to include in your classpath.

Contributing

So you’d like to contribute to the project? Great! We need enthusiastic, hard-working, talented folks to help us on the project, no matter your background. So if you’re motivated, ready, and have the time: Download the source from the Subversion Repository, build the code, join the mailing lists, and we’ll be happy to help you get started on the project!

Please read our Contribution Guidelines. When your contribution is ready submit a patch to our Bug Database.

Источник

Apache POI, взаимодействие с Excel

Apache POI представляет собой API, который позволяет использовать файлы MS Office в Java приложениях. Данная библиотека разрабатывается и распространяется Apache Software Foundation и носит открытый характер. Apache POI включает классы и методы для чтения и записи информации в документы MS Office.

Компоненты Apache POI

Описание компонентов

HSSFHorrible Spreadsheet FormatКомпонент чтения и записи файлов MS-Excel, формат XLS
XSSFXML Spreadsheet FormatКомпонент чтения и записи файлов MS-Excel, формат XLSX
HPSFHorrible Property Set FormatКомпонент получения наборов свойств файлов MS-Office
HWPFHorrible Word Processor FormatКомпонент чтения и записи файлов MS-Word, формат DOC
XWPFXML Word Processor FormatКомпонент чтения и записи файлов MS-Word, формат DOCX
HSLFHorrible Slide Layout FormatКомпонент чтения и записи файлов PowerPoint, формат PPT
XSLFXML Slide Layout FormatКомпонент чтения и записи файлов PowerPoint, формат PPTX
HDGFHorrible DiaGram FormatКомпонент работы с файлами MS-Visio, формат VSD
XDGFXML DiaGram FormatКомпонент работы с файлами MS-Visio, формат VSDX

Список компонентов

Наименование (артeфакт)Необходимые компоненты
poicommons-logging, commons-codec, commons-collections, log4j
poi-scratchpadpoi
poi-ooxmlpoi, poi-ooxml-schemas
poi-ooxml-schemasxmlbeans
poi-examplespoi, poi-scratchpad, poi-ooxml
ooxml-schemasxmlbeans
ooxml-securityxmlbeans

Подключение Apache POI к проекту

Для подключения Apache POI к проекту необходимо скачать соответствующие библиотеки с официального сайта https://poi.apache.org/download.html.

Если в проекте используется фреймворк maven, то необходимо установить одну из следующих зависимостей (версия может быть более новой) :

На странице описания примера чтения файлов 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

preservenodes является необязательным параметром, который определяет необходимость сохранения узлов типа макросы.

Конструкторы класса XSSFWorkbook

Основные методы HSSFWorkbook, XSSFWorkbook

МетодОписание
createSheet ()Создание страницы книги HSSFSheet, XSSFSheet
createSheet (String name)Создание страницы с определенным наименованием
CreateFont ()Создание шрифта
createCellStyle ()Создание стиля

С полным перечнем всех методов класса XSSFWorkbook можно познакомиться на странице http://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html.

Классы листов книги, HSSFSheet, XSSFSheet

Классы HSSFSheet, XSSFSheet включают свойства и методы создания строк, определения размера колонок, слияния ячеек в одну область и т.д.

Основные методы классов работы с листами

МетодОписание
addMergedRegion (CellRangeAddress)Определение области слияния ячеек страницы
autoSizeColumn (int column)Автоматическая настройка ширины колонки column (отсчет от 0)
setColumnWidth (int column, int width)Настройка ширины колонки column (отсчет от 0)
createRow (int row)Создание строки row (отсчет от 0)
getRow (int row)Получение ссылки на строку row (отсчет от 0)

С полным перечнем всех методов класса XSSFSheet можно познакомиться на странице https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html

Классы строк HSSFRow, XSSFRow

Классы HSSFRow, XSSFRow включают свойства и методы работы со строками, создания ячеек в строке и т.д.

Основные методы классов HSSFRow, XSSFRow

МетодОписание
setHeight (short)Определение высоты строки
getHeight()Получение значения высоты в twips’ах (1/20)
getHeightInPoints()Получение значение высоты
createCell (int)Создание ячейки в строке (отсчет от 0)
getCell(int)Получение ссылки на ячейку
getFirstCellNum()Получение номера первой ячейки в строке
setRowStyle(CellStyle)Определение стиля всей строки

С полным перечнем всех методов класса XSSFRow можно познакомиться на странице http://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html

Классы ячеек HSSFCell, XSSFCell

Ячейки электронной таблицы используются для размещения информации. В ячейке может быть представлено числовое значение, текст или формула. Также ячейка может содержать комментарий.

Классы HSSFCell, XSSFCell включают свойства и методы работы с ячейками таблицы.

Основные методы классов HSSFCell, XSSFCell

МетодОписание
getBooleanCellValue()Чтение логического значения ячейки
getDateCellValue()Чтение значения ячейки типа java.util.Date
getNumericCellValue()Чтение числового значения ячейки типа double
getStringCellValue()Чтение текстового значения ячейки (java.lang.String)
setCellValue(boolean)Определение логического значения ячейки
setCellValue(java.util.Calendar)Определение значения ячейки типа даты
setCellValue(java.util.Date)Определение значения ячейки типа даты
getCellTypeEnum()Чтение типа значения ячейки CellType
setCellComment(Comment)Запись комментария в ячейку
getCellComment()Чтение комментария ячейки
removeCellComment()Удаление комментария ячейки
setHyperlink(Hyperlink)Запись гиперссылки в ячейку
getHyperlink()Чтение гиперссылки XSSFHyperlink в ячейке
removeHyperlink()Удаления гиперссылки ячейки
getCellFormula()Чтение формулы, например SUM(C4:E4)
setCellFormula(String)Определение формулы, например =SUM(C4:E4)
getCellStyle()Чтение стиля ячейки (XSSFCellStyle)
setCellStyle(CellStyle)Определение стиля ячейки
getColumnIndex()Определение индекса ячейки
setAsActiveCell()Определение активности ячейки

С полным перечнем всех методов класса 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

Ниже в качестве примера представлен метод, формирующий стиль ячейки, в которой :

Метод setWrapText позволяет определить флаг переноса текста в ячейке согласно ее размеру (ширине). Чтобы перенести текст принудительно, можно в текстовой строке установить символы CRCL, например «Разделитель\r\nтекста».

Классы шрифтов HSSFFont, XSSFFont

С полным перечнем всех свойств и методов класса XSSFFont можно познакомиться на странице http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/Font.html

Ниже в качестве примера представлен метод, формирующий шрифт типа «Times New Roman» :

Примеры создания файлов Excel и определение стилей ячеек рассмотрены здесь.

Источник

Apache POI — Обзор

Часто для создания отчетов в формате файлов Microsoft Excel требуется программное приложение. Иногда даже ожидается, что приложение получит файлы Excel в качестве входных данных. Например, приложение, разработанное для финансового отдела компании, должно будет генерировать все свои результаты в Excel.

Любой программист на Java, желающий создавать файлы MS Office в качестве выходных данных, должен использовать для этого предопределенный API только для чтения.

Что такое Apache POI?

Apache POI — это популярный API, который позволяет программистам создавать, изменять и отображать файлы MS Office с помощью программ Java. Это библиотека с открытым исходным кодом, разработанная и распространяемая Apache Software Foundation для разработки или изменения файлов Microsoft Office с использованием программы Java. Он содержит классы и методы для декодирования вводимых пользователем данных или файла в документы MS Office.

Компоненты Apache POI

Apache POI содержит классы и методы для работы со всеми составными документами OLE2 MS Office. Список компонентов этого API приведен ниже.

POIFS (Файловая система реализации плохой обфускации ) — этот компонент является основным фактором всех других элементов POI. Он используется для явного чтения разных файлов.

HSSF (ужасный формат электронной таблицы) — используется для чтения и записи в формате xls файлов MS-Excel.

XSSF (XML Spreadsheet Format) — используется для формата файлов xlsx MS-Excel.

HPSF (формат набора ужасных свойств) — используется для извлечения наборов свойств из файлов MS-Office.

HWPF (формат ужасного текстового процессора) — используется для чтения и записи файлов расширений doc MS-Word.

XWPF (XML-формат текстового процессора) — используется для чтения и записи файлов расширения docx в MS-Word.

HSLF (ужасный формат макета слайда) — используется для чтения, создания и редактирования презентаций PowerPoint.

POIFS (Файловая система реализации плохой обфускации ) — этот компонент является основным фактором всех других элементов POI. Он используется для явного чтения разных файлов.

HSSF (ужасный формат электронной таблицы) — используется для чтения и записи в формате xls файлов MS-Excel.

XSSF (XML Spreadsheet Format) — используется для формата файлов xlsx MS-Excel.

HPSF (формат набора ужасных свойств) — используется для извлечения наборов свойств из файлов MS-Office.

HWPF (формат ужасного текстового процессора) — используется для чтения и записи файлов расширений doc MS-Word.

XWPF (XML-формат текстового процессора) — используется для чтения и записи файлов расширения docx в MS-Word.

HSLF (ужасный формат макета слайда) — используется для чтения, создания и редактирования презентаций PowerPoint.

Этот учебник проведет вас через процесс работы с файлами Excel с использованием Java. Поэтому обсуждение ограничивается компонентами HSSF и XSSF.

Примечание. Более старые версии POI поддерживают двоичные форматы файлов, такие как doc, xls, ppt и т. Д. Версия 3.5 и выше, POI поддерживает форматы файлов OOXML MS-Office, такие как docx, xlsx, pptx и т. Д.

Как и в Apache POI, существуют другие библиотеки, предоставляемые различными поставщиками для генерации файлов Excel. К ним относятся ячейки Aspose для Java от Aspose, JXL от Commons Libraries и JExcel от Team Dev.

Источник

Apache POI PPT — Краткое руководство

Часто для создания отчетов в формате файлов Microsoft Office требуется программное приложение. Иногда даже ожидается, что приложение получит файлы MS-Office в качестве входных данных.

Любой программист на Java, желающий создавать файлы MS Office в качестве выходных данных, должен использовать для этого предопределенный API только для чтения.

Что такое Apache POI?

Apache POI — это популярный API, который позволяет программистам создавать, изменять и отображать файлы MS-Office с помощью программ на Java. Это библиотека с открытым исходным кодом, разработанная и распространяемая Apache Software Foundation. Он содержит классы и методы для декодирования вводимых пользователем данных или файла в документы MS Office.

Компоненты Apache POI

Apache POI содержит классы и методы для работы со всеми составными документами OLE2 MS-Office. Список компонентов этого API приведен ниже —

POIFS (Файловая система реализации плохой обфускации) — этот компонент является основным фактором всех других элементов POI. Он используется для явного чтения разных файлов.

HPSF (формат набора ужасных свойств) — используется для извлечения наборов свойств из файлов MS-Office.

HWPF (формат ужасного текстового процессора) — используется для чтения и записи файлов расширений .doc MS-Word.

HSLF (ужасный формат макета слайда) — используется для чтения, создания и редактирования презентаций PowerPoint.

HDGF (формат Horrible DiaGram) — содержит классы и методы для двоичных файлов MS-Visio.

HPBF (формат Horrible PuBlisher) — используется для чтения и записи файлов MS-Publisher.

POIFS (Файловая система реализации плохой обфускации) — этот компонент является основным фактором всех других элементов POI. Он используется для явного чтения разных файлов.

HPSF (формат набора ужасных свойств) — используется для извлечения наборов свойств из файлов MS-Office.

HWPF (формат ужасного текстового процессора) — используется для чтения и записи файлов расширений .doc MS-Word.

HSLF (ужасный формат макета слайда) — используется для чтения, создания и редактирования презентаций PowerPoint.

HDGF (формат Horrible DiaGram) — содержит классы и методы для двоичных файлов MS-Visio.

HPBF (формат Horrible PuBlisher) — используется для чтения и записи файлов MS-Publisher.

Этот учебник проведет вас через процесс работы над презентацией Microsoft PowerPoint с использованием Java. Поэтому обсуждение ограничивается компонентом XSLF.

Примечание. Более старые версии POI поддерживают двоичные форматы файлов, такие как doc, xls, ppt и т. Д. Версия 3.5 и выше, POI поддерживает форматы файлов OOXML MS-Office, такие как docx, xlsx, pptx и т. Д.

Ароматы Java PPT API

В этой главе рассказывается о некоторых разновидностях Java PowerPoint API и их функциях. Есть много поставщиков, которые предоставляют API, связанные с Java PPT; некоторые из них рассматриваются в этой главе.

Aspose Slides для Java

Общие применения этого API следующие:

Apache POI

Apache POI — это библиотека с открытым исходным кодом, предоставленная Apache Software Foundation. Большинство разработчиков малых и средних приложений сильно зависят от Apache POI (HSLF + XSLF). Он поддерживает все основные функции библиотек PPT; однако рендеринг и извлечение текста являются его основными характеристиками. Ниже приведена архитектура Apache POI для PPT.

apache poi это что

Apache POI PPT — Установка

В этой главе рассказывается о настройке Apache POI в системах на базе Windows и Linux. Apache POI можно легко установить и интегрировать в текущую среду Java, выполнив несколько простых шагов без каких-либо сложных процедур настройки. Администрация пользователя требуется для установки.

Системные Требования

JDKJava SE 2 JDK 1.5 или выше
объем памяти1 ГБ ОЗУ (рекомендуется)
Дисковое пространствоНет минимальных требований
Версия операционной системыWindows XP или выше, Linux

Давайте теперь перейдем к этапам установки Apache POI.

Шаг 1. Проверьте вашу установку Java

Прежде всего, вам необходимо установить Java Software Development Kit (SDK) в вашей системе. Чтобы убедиться в этом, выполните любую из следующих двух команд в зависимости от платформы, на которой вы работаете.

Если установка Java была выполнена правильно, то на ней отобразится текущая версия и спецификация вашей установки Java. Пример вывода приведен в следующей таблице.

Откройте Командную консоль и введите —

Java версия «1.7.0_60»

Java (TM) SE Run Time

Окружающая среда (сборка 1.7.0_60-b19)

Java Hotspot (TM) 64-битный сервер

ВМ (сборка 24.60-b09, смешанный режим)

Откройте командный терминал и введите —

Открытая среда выполнения JDK (rhel-2.3.10.4.el6_4-x86_64)

Откройте виртуальную машину 64-разрядного сервера JDK (сборка 23.7-b01, смешанный режим)

Откройте Командную консоль и введите —

Java версия «1.7.0_60»

Java (TM) SE Run Time

Окружающая среда (сборка 1.7.0_60-b19)

Java Hotspot (TM) 64-битный сервер

ВМ (сборка 24.60-b09, смешанный режим)

Откройте командный терминал и введите —

Открытая среда выполнения JDK (rhel-2.3.10.4.el6_4-x86_64)

Откройте виртуальную машину 64-разрядного сервера JDK (сборка 23.7-b01, смешанный режим)

Мы предполагаем, что читатели этого руководства установили Java SDK версии 1.7.0_60 в своей системе.

Если у вас нет Java SDK, загрузите его текущую версию с https://www.oracle.com/technetwork/java/javase/downloads/index.html и установите его.

Мы предполагаем, что читатели этого руководства установили Java SDK версии 1.7.0_60 в своей системе.

Если у вас нет Java SDK, загрузите его текущую версию с https://www.oracle.com/technetwork/java/javase/downloads/index.html и установите его.

Шаг 2. Установите среду Java

Установите переменную среды JAVA_HOME, чтобы она указывала на местоположение базовой директории, где установлена ​​Java на вашем компьютере. Например,

ПлатформакомандаПример вывода
Windows
ПлатформаОписание
WindowsУстановите JAVA_HOME в C: \ ProgramFiles \ java \ jdk1.7.0_60
LinuxЭкспорт JAVA_HOME = / usr / local / java-current

Добавьте полный путь расположения компилятора Java к системному пути.

Шаг 3: Установите Apache POI Library

Загрузите последнюю версию Apache POI по адресу https://poi.apache.org/download.html и разархивируйте его содержимое в папку, из которой необходимые библиотеки могут быть связаны с вашей программой Java. Предположим, что файлы собраны в папке на диске C.

На следующих изображениях показаны каталоги и файловые структуры внутри загруженной папки.

apache poi это что

apache poi это что

Добавьте полный путь к пяти банкам, как показано на изображении выше, к CLASSPATH.

Добавьте следующие строки в конец пользовательской переменной CLASSPATH —

«C: \ пои-3,9 \ пои-3.9-20121203.jar;»

«C: \ пои-3,9 \ пои-OOXML-3.9-20121203.jar;»

«C: \ пои-3,9 \ пои-OOXML-схемы-3.9-20121203.jar;»

«C: \ пои-3,9 \ OOXML Пб \ dom4j-1.6.1.jar;»

«C:. \ Пои-3,9 \ OOXML Пб \ XMLBeans-2.3.0.jar;»;

Добавьте следующие строки в конец пользовательской переменной CLASSPATH —

«C: \ пои-3,9 \ пои-3.9-20121203.jar;»

«C: \ пои-3,9 \ пои-OOXML-3.9-20121203.jar;»

«C: \ пои-3,9 \ пои-OOXML-схемы-3.9-20121203.jar;»

«C: \ пои-3,9 \ OOXML Пб \ dom4j-1.6.1.jar;»

«C:. \ Пои-3,9 \ OOXML Пб \ XMLBeans-2.3.0.jar;»;

pom.xml

Ниже приведен файл pom.xml для запуска программ из этого руководства.

Apache POI PPT — Классы и Методы

В этой главе мы узнаем о нескольких классах и методах API Apache POI, которые имеют решающее значение для работы с файлами PPT с помощью программ на Java.

презентация

ПлатформаОписание
Windows

XMLSlideShow (java.io.InputStream inputStream)

Вы можете создать экземпляр этого класса, передав ему объект класса inputtream.

XMLSlideShow (java.io.InputStream inputStream)

Вы можете создать экземпляр этого класса, передав ему объект класса inputtream.

S.NoКонструктор и описание
1

int addPicture (byte [] pictureData, int формат)

Используя этот метод, вы можете добавить изображение к презентации.

Создает пустой слайд в презентации.

XSLFSlide createSlide (макет XSLFSlideLayout)

Создает слайд с заданным макетом слайда.

Возвращает массив всех картинок в презентации.

Используя этот метод, вы можете узнать текущий размер страницы.

Возвращает массив всех слайдов в презентации.

Возвращает все слайды в презентации.

XSLFSlide removeSlide (int index)

Используя этот метод, вы можете удалить слайд из презентации.

void setPageSize (java.awt.Dimension pgSize)

Используя этот метод, вы можете сбросить размер страницы.

void setSlideOrder (слайд XSLFSlide, int newIndex)

Используя этот метод, вы можете изменить порядок слайдов.

int addPicture (byte [] pictureData, int формат)

Используя этот метод, вы можете добавить изображение к презентации.

Создает пустой слайд в презентации.

XSLFSlide createSlide (макет XSLFSlideLayout)

Создает слайд с заданным макетом слайда.

Возвращает массив всех картинок в презентации.

Используя этот метод, вы можете узнать текущий размер страницы.

Возвращает массив всех слайдов в презентации.

Возвращает все слайды в презентации.

XSLFSlide removeSlide (int index)

Используя этот метод, вы можете удалить слайд из презентации.

void setPageSize (java.awt.Dimension pgSize)

Используя этот метод, вы можете сбросить размер страницы.

void setSlideOrder (слайд XSLFSlide, int newIndex)

Используя этот метод, вы можете изменить порядок слайдов.

Горка

S.NoМетоды и описание
1

Возвращает объект XSLFBackground, который можно использовать для получения таких деталей, как цвет и привязка фона слайда. Вы также можете рисовать фигуры на слайде, используя этот объект.

Предоставляет доступ к объекту XSLFSlideLayout текущего слайда.

Предоставляет доступ к мастеру слайдов текущего слайда.

Возвращает объект XSLFTheme текущего слайда.

Возвращает заголовок текущего слайда.

XSLFSlide importContent (XSLFSheet src)

Копирует содержимое другого слайда на этот слайд.

Возвращает объект XSLFBackground, который можно использовать для получения таких деталей, как цвет и привязка фона слайда. Вы также можете рисовать фигуры на слайде, используя этот объект.

Предоставляет доступ к объекту XSLFSlideLayout текущего слайда.

Предоставляет доступ к мастеру слайдов текущего слайда.

Возвращает объект XSLFTheme текущего слайда.

Возвращает заголовок текущего слайда.

XSLFSlide importContent (XSLFSheet src)

Копирует содержимое другого слайда на этот слайд.

Slide Master

Это компонент презентации, имеющий разные макеты слайдов. Класс XSLFSlideMaster предоставляет вам доступ к нему. Упомянутый ниже некоторые важные методы этого класса.

S.NoМетод и описание
1

Возвращает общий фон мастера слайдов.

XSLFSlideLayout getLayout (тип SlideLayout)

Возвращает объект XSLFSlideLayout.

Возвращает все макеты слайдов в этом мастере слайдов.

Возвращает общий фон мастера слайдов.

XSLFSlideLayout getLayout (тип SlideLayout)

Возвращает объект XSLFSlideLayout.

Возвращает все макеты слайдов в этом мастере слайдов.

План слайдов

S.NoМетод и описание
1

void copyLayout (слайд XSLFSlide)

Этот метод скопирует заполнители из этого макета на заданный слайд.

void copyLayout (слайд XSLFSlide)

Этот метод скопирует заполнители из этого макета на заданный слайд.

Текстовый абзац

S.NoМетод и описание
1

Вставляет разрыв строки в абзаце.

Добавляет новый прогон текста в абзаце.

void setBulletAutoNumber (схема ListAutoNumber, int startAt)

Применяет автоматические нумерованные маркеры к абзацу.

void setIndent (double value)

Устанавливает отступ к тексту в абзаце.

void setLeftMargin (двойное значение)

Этот метод используется для добавления левого поля абзаца.

void setLineSpacing (двойной межстрочный интервал)

Этот метод используется для установки межстрочного интервала в абзаце.

void setTextAlign (выравнивание TextAlign)

Этот метод используется для установки выравнивания, которое должно быть установлено для абзаца.

Вставляет разрыв строки в абзаце.

Добавляет новый прогон текста в абзаце.

void setBulletAutoNumber (схема ListAutoNumber, int startAt)

Применяет автоматические нумерованные маркеры к абзацу.

void setIndent (double value)

Устанавливает отступ к тексту в абзаце.

void setLeftMargin (двойное значение)

Этот метод используется для добавления левого поля абзаца.

void setLineSpacing (двойной межстрочный интервал)

Этот метод используется для установки межстрочного интервала в абзаце.

void setTextAlign (выравнивание TextAlign)

Этот метод используется для установки выравнивания, которое должно быть установлено для абзаца.

Текстовый прогон

Это самый низкий уровень разделения текста в текстовом теле. У вас есть класс XSLFTextRun для управления текстовым прогоном абзаца. Ниже упоминаются некоторые важные методы этого класса.

S.NoМетод и описание
1

Создает гиперссылку в презентации.

Этот метод используется для получения гиперссылки.

Возвращает значение этого текстового узла в виде строки Java.

void setBold (булево полужирное)

Этот метод используется для выделения текста жирным шрифтом.

void setCharacterSpacing (double spc)

Устанавливает интервал между символами в текстовом прогоне.

void setFontColor (java.awt.Color color)

Устанавливает цвет шрифта текста.

void setFontSize (double fontSize)

Устанавливает размер шрифта текста.

void setItalic (логический курсив)

Этот метод используется для выделения абзаца курсивом.

void setStrikethrough (логический удар)

Этот метод используется для форматирования текста как зачеркнутого текста.

void setSubscript (логический флаг)

Этот метод используется для форматирования текста как индекса.

void setSuperscript (логический флаг)

Этот метод используется для форматирования текста в этом прогоне как верхний индекс.

void setText (текст java.lang.String)

Этот метод используется для установки текста в прогоне.

void setUnderline (логическое подчеркивание)

Этот метод используется для подчеркивания текста в текстовом прогоне.

Создает гиперссылку в презентации.

Этот метод используется для получения гиперссылки.

Возвращает значение этого текстового узла в виде строки Java.

void setBold (булево полужирное)

Этот метод используется для выделения текста жирным шрифтом.

void setCharacterSpacing (double spc)

Устанавливает интервал между символами в текстовом прогоне.

void setFontColor (java.awt.Color color)

Устанавливает цвет шрифта текста.

void setFontSize (double fontSize)

Устанавливает размер шрифта текста.

void setItalic (логический курсив)

Этот метод используется для выделения абзаца курсивом.

void setStrikethrough (логический удар)

Этот метод используется для форматирования текста как зачеркнутого текста.

void setSubscript (логический флаг)

Этот метод используется для форматирования текста как индекса.

void setSuperscript (логический флаг)

Этот метод используется для форматирования текста в этом прогоне как верхний индекс.

void setText (текст java.lang.String)

Этот метод используется для установки текста в прогоне.

void setUnderline (логическое подчеркивание)

Этот метод используется для подчеркивания текста в текстовом прогоне.

Форма текста

S.NoМетод и описание
1

void setPlaceholder (Заполнитель-заполнитель)

Используя этот метод, вы можете выбрать заполнитель.

Возвращает тип текущего заполнителя.

Очищает текстовую область текущей текстовой фигуры.

Добавляет новый абзац к фигуре.

void drawContent (графика java.awt.Graphics2D)

Этот метод позволяет рисовать любой контент на слайде.

void setPlaceholder (Заполнитель-заполнитель)

Используя этот метод, вы можете выбрать заполнитель.

Возвращает тип текущего заполнителя.

Очищает текстовую область текущей текстовой фигуры.

Добавляет новый абзац к фигуре.

void drawContent (графика java.awt.Graphics2D)

Этот метод позволяет рисовать любой контент на слайде.

Гиперссылка

В библиотеке POI есть класс XSLFHyperlink, с помощью которого вы можете создать гиперссылку в презентации. Упомянутый ниже некоторые важные методы этого класса.

S.NoМетод и описание
1

Возвращает URL-адрес, существующий в слайде презентации.

void setAddress (адрес java.lang.String)

Этот метод используется для установки адреса на URL.

void setAddress (слайд XSLFSlide)

Устанавливает адрес для URL-адреса, представленного на слайде презентации.

Возвращает URL-адрес, существующий в слайде презентации.

void setAddress (адрес java.lang.String)

Этот метод используется для установки адреса на URL.

void setAddress (слайд XSLFSlide)

Устанавливает адрес для URL-адреса, представленного на слайде презентации.

Apache POI PPT — Презентация

Как правило, мы используем MS-PowerPoint для создания презентаций. Теперь давайте посмотрим, как создавать презентации с использованием Java. После завершения этой главы вы сможете создавать новые презентации MS-PowerPoint и открывать существующие PPT с помощью вашей Java-программы.

Создание пустой презентации

Чтобы создать пустую презентацию, вы должны создать экземпляр класса XMLSlideShow пакета org.poi.xslf.usermodel

Сохраните изменения в документе PPT, используя класс FileOutputStream

Ниже приведена полная программа для создания пустой презентации MS-PowerPoint.

Если ваша системная среда сконфигурирована с библиотекой POI, она скомпилируется и выполнится, чтобы создать пустой файл PPT с именем example1.pptx в вашем текущем каталоге и отобразить следующий вывод в командной строке:

Пустой документ PowerPoint выглядит следующим образом —

apache poi это что

Редактирование существующей презентации

Ниже приведена полная программа для открытия и добавления слайдов в существующий PPT —

Это скомпилирует и выполнит, чтобы произвести следующий вывод —

Выходной документ PPT с вновь добавленными слайдами выглядит следующим образом:

apache poi это что

После добавления слайдов в PPT вы можете добавлять, выполнять, читать и записывать операции над слайдами.

Apache POI PPT — макеты слайдов

В предыдущей главе вы видели, как создавать пустые слайды и как добавлять в них слайды. В этой главе вы узнаете, как получить список доступных слайдов и как создать слайд с различными макетами.

Доступные макеты слайдов

Презентации PowerPoint имеют макеты слайдов, и вы можете выбрать нужный макет для редактирования слайда. Прежде всего, давайте выясним список всех доступных макетов слайдов.

Существуют разные мастера слайдов, и в каждом из них есть несколько макетов слайдов.

Существуют разные мастера слайдов, и в каждом из них есть несколько макетов слайдов.

Ниже приведена полная программа для получения списка доступных макетов слайдов в PPT —

Это скомпилирует и выполнит, чтобы произвести следующий вывод —

Ниже показаны некоторые примеры макетов слайдов, доступных в MS-Office 360, выпуск 2013 года.

apache poi это что

Название макета

Давайте создадим слайд в PPT, используя макет заголовка. Следуйте инструкциям ниже

Шаг 1. Создайте пустую презентацию, создав экземпляр класса XMLSlideShow, как показано ниже.

Здесь мы получаем мастер слайдов по умолчанию, который находится в 0- м месте массива мастеров слайдов.

Приведенный ниже фрагмент кода показывает, как создать макет заголовка.

Шаг 4 — Создайте новый слайд, передав объект макета слайда в качестве параметра.

Ниже приведена полная программа для создания слайда с макетом заголовка в презентации —

Сохраните приведенный выше Java-код как TitleLayout.java, а затем скомпилируйте и выполните его из командной строки следующим образом:

Он будет скомпилирован и выполнен для генерации следующего вывода.

Документ PPT с недавно добавленным слайдом макета заголовка выглядит следующим образом:

apache poi это что

Название и содержание Макет

Давайте создадим слайд в PPT, используя заголовок и макет контента. Следуйте инструкциям ниже.

Шаг 1. Создайте пустую презентацию, создав экземпляр класса XMLSlideShow, как показано ниже.

Здесь мы получаем мастер слайдов по умолчанию, который находится в 0-м месте массива мастеров слайдов.

В следующем фрагменте кода показано, как создать заголовок и макет содержимого.

Шаг 4 — Создайте новый слайд, передав объект макета слайда в качестве параметра.

Ниже приведена полная программа для создания слайда с макетом заголовка в презентации —

Это скомпилирует и выполнит, чтобы произвести следующий вывод —

Документ PPT с недавно добавленным слайдом макета заголовка выглядит следующим образом:

apache poi это что

Таким же образом, вы можете создавать слайды с различными макетами.

Apache POI PPT — Управление слайдами

После прочтения этой главы вы сможете удалять, изменять порядок и выполнять операции чтения и записи на слайде.

Смена слайда

Сначала создайте презентацию, как показано ниже —

Полная программа для изменения размера слайда приведена ниже —

Он будет скомпилирован и выполнен для генерации следующего вывода.

Ниже приведен снимок презентации до изменения размера слайда.

apache poi это что

После изменения размера слайд выглядит следующим образом:

apache poi это что

Изменение порядка слайдов

Откройте существующий документ PPT, как показано ниже —

Получите слайды, используя метод getSlides (), как показано ниже —

Выберите слайд из массива слайдов и измените порядок, используя метод setSlideOrder (), как показано ниже —

Ниже приведена полная программа для изменения порядка слайдов в презентации.

Он будет скомпилирован и выполнен для генерации следующего вывода.

Ниже приведен снимок презентации перед изменением порядка слайдов.

apache poi это что

После изменения порядка слайдов презентация выглядит следующим образом. Здесь мы выбрали слайд с изображением и переместили его наверх.

apache poi это что

Удаление слайдов

Откройте существующую презентацию, используя класс XMLSlideShow, как показано ниже —

Ниже приведена программа для удаления слайдов из презентации —

Это скомпилирует и выполнит, чтобы произвести следующий вывод —

Снимок ниже представляет презентацию перед удалением слайда —

apache poi это что

После удаления слайда презентация выглядит следующим образом:

apache poi это что

Apache POI PPT — Изображения

В этой главе вы узнаете, как добавить изображение в PPT и как прочитать изображение с него.

Добавление изображения

Следуйте данной процедуре, чтобы добавить изображение в презентацию. Создайте пустое слайд-шоу, используя XMLSlideShow, как показано ниже —

Прочитайте файл изображения, который нужно добавить, и преобразуйте его в байтовый массив, используя IOUtils.toByteArray () класса IOUtils, как показано ниже —

Вставьте изображение в слайд, используя createPicture (), как показано ниже —

Ниже приведена полная программа для добавления изображения к слайду в презентации.

Это скомпилирует и выполнит, чтобы произвести следующий вывод —

Презентация с новым добавленным слайдом с изображением выглядит следующим образом:

apache poi это что

Чтение изображения

Это скомпилирует и выполнит, чтобы произвести следующий вывод —

Apache POI PPT — Создание гиперссылок

В этой главе вы узнаете, как создавать гиперссылки в презентации.

Создание гиперссылок

Создайте пустую презентацию, используя класс XMLSlideShow, как показано ниже —

Создайте пустой слайд и создайте текстовое поле и тело слайда, используя тело и макет содержимого.

Создайте текстовый объект запуска и установите для него текст, как показано ниже —

Создайте гиперссылку, используя метод createHyperlink () класса XSLFTextRun, как показано ниже —

Установите адрес ссылки для гиперссылки, используя метод setAddress () класса XSLFHyperlink, как показано ниже —

Ниже приведена полная программа для создания гиперссылки в презентации —

Это скомпилирует и выполнит, чтобы произвести следующий вывод —

Недавно добавленный слайд с гиперссылкой в ​​его теле выглядит следующим образом:

apache poi это что

Apache POI PPT — чтение форм

Он будет скомпилирован и выполнен для генерации следующего вывода.

Недавно добавленный слайд с различными формами выглядит следующим образом:

apache poi это что

Apache POI PPT — форматирование текста

В следующем фрагменте кода показано, как применять различные стили форматирования (полужирный, курсив, подчеркивание, вычеркивание) к тексту в презентации.

Чтобы иметь разрывы строк между абзацами, используйте addLineBreak () класса XSLFTextParagraph, как показано ниже —

Ниже приведена полная программа для форматирования текста с использованием всех вышеперечисленных методов —

Это скомпилирует и выполнит, чтобы произвести следующий вывод —

Слайд с форматированным текстом выглядит следующим образом:

apache poi это что

Apache POI PPT — объединение

Это скомпилирует и выполнит, чтобы произвести следующий вывод —

Следующий снимок показывает первую презентацию —

apache poi это что

Следующий снимок показывает вторую презентацию —

apache poi это что

Ниже приведен вывод программы после объединения двух слайдов. Здесь вы можете увидеть содержание предыдущих слайдов, объединенных вместе.

apache poi это что

Apache POI PPT — PPT для изображения

Вы можете конвертировать презентацию в файл изображения. Следующая программа показывает, как это сделать.

Это скомпилирует и выполнит, чтобы произвести следующий вывод —

Следующий снимок показывает презентацию, которая дается в качестве входных данных —

apache poi это что

Ниже приведен снимок изображения, созданного в указанном месте.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

S.NoМетод и описание
1