注册

WordPOI是一个将Word接口文档转换成JavaBean的工具库


WordPOI


WordPOI是一个将Word接口文档转换成JavaBean的工具库,主要目的是减少部分无脑的开发工作。

核心功能:将文档中表格定义的实体转换成Java实体对象

WordPOI特性说明

  1. 支持解析doc格式和docx格式的Word文档
  2. 支持批量解析Word文档并转换成实体
  3. 解析配置支持自定义,详情请查看{@link ParseConfig}相关配置
  4. 虽然解析可配置,但因文档内容的不可控,解析转换也具有一定的局限性

只要在文档上定义实体对象时,尽量满足示例文档的规则,就可以规避解析转换时的局限性。

ParseConfig属性说明

属性值类型默认值说明
startTableint0开始表格
startRowint1开始行
startColumnint0开始列
fieldNameColumnint0字段名称所在列
fieldTypeColumnint1字段类型所在列
fieldDescColumnint2字段注释说明所在列
charsetNameStringUTF-8字符集编码
genGetterAndSetterbooleantrue是否生成get和set方法
genToStringbooleantrue是否生成toString方法
useLombokbooleanfalse是否使用Lombok
parseEntityNamebooleanfalse是否解析实体名称
entityNameRowint0实体名称所在行
entityNameColumnint0实体名称所在列
serializablebooleanfalse是否实现Serializable序列化
showHeaderbooleantrue是否显示头注释
headerStringCreated by WordPOI头注释内容
transformationsMap<String,String>需要转型的集合(自定义转型配置)

引入

Maven:

<dependency>
<groupId>com.king.poi</groupId>
<artifactId>word-poi</artifactId>
<version>1.0.1</version>
<type>pom</type>
</dependency>

Gradle:

compile 'com.king.poi:word-poi:1.0.1'

Lvy:

<dependency org='com.king.poi' name='word-poi' rev='1.0.1'>
<artifact name='$AID' ext='pom'></artifact>
</dependency>
如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)
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包可直接点击左上角的Download下载最新的jar,然后引入到你的工程即可。

示例

代码示例 (直接在main方法中调用即可)

        try {

/**
* 解析文档中的表格实体,表格包含了实体名称,只需配置 {@link ParseConfig#parseEntityName} 为 true 和相关对应行,即可开启自动解析实体名称,自动解析实体名称
* {@link 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");
//解析文档docx格式 需要传生成的对象实体名称
// WordPOI.wordToEntity(Test.class.getResourceAsStream("Api2.doc"),true,"C:/bean/","com.king.poi.bean","TestBean");
} catch (Exception e) {
e.printStackTrace();
}
  • 文档实体示例一(默认格式,见文档 Api1.docx)

1.1. Result (响应结果实体)

字段字段类型说明
codeString0-代表成功,其它代表失败
descString操作失败时的说明信息
dataT返回对应的泛型实体对象

1.2. PageInfo (页码信息实体)

字段字段类型说明
curPageInteger当前页码
pageSizeInteger页码大小,每一页的记录条数
totalPageInteger总页数
hasNextBoolean是否有下一页
dataList<T>泛型T为对应的数据记录实体
  • 文档实体示例二(自动解析实体名称格式,见文档 Api3.docx)

1.1. 响应结果实体

Result
字段字段类型说明
codeString0-代表成功,其它代表失败
descString操作失败时的说明信息
dataT返回对应的泛型<T>实体对象

1.2. 页码信息实体

PageInfo
字段字段类型说明
curPageInteger当前页码
curPageInteger当前页码
pageSizeInteger页码大小,每一页的记录条数
totalPageInteger总页数
hasNextBoolean是否有下一页
dataList<T>泛型T为对应的数据记录实体

更多使用详情,请查看Test中的源码使用示例或直接查看API帮助文档

代码下载:WordPOI.zip

0 个评论

要回复文章请先登录注册