WordPOI — это инструмент, который преобразует документы с интерфейсом Word в JavaBean. Его основная цель — уменьшить объём рутинной работы при разработке.
Основные функции:
Чтобы избежать проблем при анализе и преобразовании, рекомендуется следовать правилам, описанным в примере документа.
Свойство | Тип значения | Значение по умолчанию | Описание |
---|---|---|---|
startTable | int | 0 | Начало таблицы |
startRow | int | 1 | Начало строки |
startColumn | int | 0 | Начало столбца |
fieldNameColumn | int | 0 | Столбец с именем поля |
fieldTypeColumn | int | 1 | Столбец с типом поля |
fieldDescColumn | int | 2 | Столбец с описанием поля |
charsetName | String | UTF-8 | Имя кодировки символов |
genGetterAndSetter | boolean | true | Генерировать методы get и set |
genToString | boolean | true | Генерировать метод toString |
useLombok | boolean | false | Использовать Lombok |
parseEntityName | boolean | false | Анализировать имя сущности |
entityNameRow | int | 0 | Строка с именем сущности |
entityNameColumn | int | 0 | Столбец с именем сущности |
serializable | boolean | false | Реализовать Serializable для сериализации |
showHeader | boolean | true | Отображать заголовок |
header | String | Created by WordPOI | Содержание заголовка |
transformations | Map<String,String> | Набор преобразований (настраиваемые преобразования) |
<dependency>
<groupId>com.king.poi</groupId>
<artifactId>word-poi</artifactId>
<version>1.0.1</version>
<type>pom</type>
</dependency>
compile 'com.king.poi:word-poi:1.0.1'
<dependency org='com.king.poi' name='word-poi' rev='1.0.1'>
<artifact name='$AID' ext='pom'></artifact>
</dependency>
Если Gradle не может скомпилировать проект, можно добавить следующее в Project/build.gradle:
allprojects {
repositories {
maven { url 'https://dl.bintray.com/jenly/maven' }
}
}
compile 'org.apache.poi:poi:4.1.0'
compile 'org.apache.poi:poi-ooxml:4.1.0'
compile 'org.apache.poi:poi-scratchpad:4.1.0'
Можно также напрямую загрузить последнюю версию jar-файла и добавить его в свой проект.
Код примера (можно вызвать непосредственно в методе main):
try {
/**
* Анализирует таблицу сущностей в документе и автоматически анализирует имена сущностей, если настроено {@link ParseConfig#parseEntityName} на true и указаны соответствующие строки.
* ParseConfig содержит различные конфигурации для анализа, что позволяет гибко поддерживать больше стилей таблиц в документах.
*/
ParseConfig config = new ParseConfig.Builder().startRow(2).parseEntityName(true).build();
WordPOI.wordToEntity(Test.class.getResourceAsStream("Api3.docx"),false,"C:/bean/","com.king.poi.bean",config);
//Анализируем документ формата docx, передавая имя создаваемого объекта сущности
// WordPOI.wordToEntity(Test.class.getResourceAsStream("Api1.docx"),false,"C:/bean/","com.king.poi.bean","Result","PageInfo");
//Анализируем документ формата doc, передавая имя создаваемого объекта сущности
// WordPOI.wordToEntity(Test.class.getResourceAsStream("Api2.doc"),true,"C:/bean/","com.king.poi.bean","TestBean");
} catch (Exception e) {
e.printStackTrace();
}
1.1. Result (сущность ответа):
Поле | Тип поля | Описание |
---|---|---|
code | String | 0 означает успех, другие значения означают неудачу |
desc | String | Информация об ошибке при сбое операции |
data | T | Возвращаемый объект сущности типа |
1.2. PageInfo (информация о странице):
Поле | Тип поля | Описание |
---|---|---|
curPage | Integer | Текущая страница |
pageSize | Integer | Размер страницы, количество записей на каждой странице |
totalPage | Integer | Общее количество страниц |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )