• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

WordPOI: WordPOI是一个将Word接口文档转换成JavaBean的工具库,主要目的是减少部分无 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

WordPOI

DownloadJitPackCICircleCILicenseBlogQQGroup

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
字段 字段类型 说明
code String 0-代表成功,其它代表失败
desc String 操作失败时的说明信息
data T 返回对应的泛型<T>实体对象

1.2. 页码信息实体

PageInfo
字段 字段类型 说明
curPage Integer 当前页码
curPage Integer 当前页码
pageSize Integer 页码大小,每一页的记录条数
totalPage Integer 总页数
hasNext Boolean 是否有下一页
data List<T> 泛型T为对应的数据记录实体

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

版本记录

v1.0.1:2019-9-17

  • 支持自动解析实体名称
  • 支持添加自定义转型配置

v1.0.0:2019-6-12

  • WordPOI初始版本

赞赏

如果您喜欢WordPOI,或感觉WordPOI帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 :smiley:

您也可以扫描下面的二维码,请作者喝杯咖啡 :coffee:

关于我

Name: Jenly

Email: jenly1314#gmail.com / jenly1314#vip.qq.com

CSDN: jenly121

博客园: jenly

Github: jenly1314

加入QQ群: 20867961


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap