当前位置: 首页 > wzjs >正文

西城网站建设浩森宇特找团队做网站

西城网站建设浩森宇特,找团队做网站,句容网络公司,汝阳网站建设需求也简单,导word文件用户登记表,有各部门的十几个版本(为什么这么多?不知道)。这里说下谈下我的一些代码做法: 需求分析: 如果能解决java字段和各项填的值怎么配对的问题,那么就…

需求也简单,导word文件用户登记表,有各部门的十几个版本(为什么这么多?不知道)。这里说下谈下我的一些代码做法:
在这里插入图片描述

需求分析:
如果能解决java字段和各项填的值怎么配对的问题,那么就好办了。

经分析,配对问题采用了一种右侧值的思路,即:全部的字段项都是 姓名–>张三 ,也就是左侧是中文key,右侧是value这种型式。这个是确认过的。只要按这个规律,配对是不成问题的。

做法如下:
第一步,模板定义,将每个模板的中文名与java字段名进行对应,这里因为模板和硬编码较多,每个模板我放到xml中定义了。
templateCode:模板code
templateName:模板名称
processor: 执行保存任务的执行器
table index=“2”:word模板里面的第几张表,有的模板有多张说明表。要说明取第几张。


<?xml version="1.0" encoding="UTF-8" ?><!ELEMENT template (table+)><!ATTLIST template templateCode #REQUIRED><!ATTLIST template templateName   #REQUIRED><!ATTLIST template processor   #REQUIRED><!ELEMENT table (cell-single+,cell-collection+)><!ATTLIST table index (1|2|3|4|5) ><!--单个k-v值--><!ELEMENT cell-single EMPTY><!ATTLIST cell-single sort (1|2|3|4|5)  ><!ATTLIST cell-single chinaName #REQUIRED><!ATTLIST cell-single propName #REQUIRED><!ATTLIST cell-single location   (right|under)  ><!--子表集合或其他集合--><!ELEMENT cell-collection (start-header+,end-header+)><!ATTLIST cell-collection subTableCode #REQUIRED><!ATTLIST cell-collection subTableName  #REQUIRED><!ELEMENT start-header EMPTY><!ATTLIST start-header headerName   #REQUIRED><!ATTLIST start-header propName  #REQUIRED><!ELEMENT end-header EMPTY><!ATTLIST end-header headerName  #REQUIRED><?xml version="1.0" en
coding="UTF-8" ?>
<!DOCTYPE template SYSTEM "uniter_import.dtd">
<template templateCode="mingZhu" templateName="民主党派代表人士信息采集表" processor="mingZhuImportUniterProcessor"><table index="2"><cell-single chinaName="姓名" propName="userName"/><cell-single chinaName="性别" propName="sex"/><cell-single chinaName="出生年月" propName="birthday"/><cell-single chinaName="民族" propName="nation"/><cell-single chinaName="籍贯" propName="nativePlace"/><cell-single chinaName="出生地" propName="birthPlace"/><cell-single chinaName="加入党派时间" propName="joinPartyDate"/></table>
</template>

第二步:
解析导入的数据,可使用XWPFDocument 工作来解析docx,TableIterator来解析doc。该工具还可以把那个寸照解析出来,挺好用的。正常的坐标–>值封装成List集合,

@Data
public class TableCellValue {private int row; // 行private int col;  // 列private String cellValue;

第三步,根据xml配置的模板表头,读取到表头的坐标。以姓名为例,假如得到姓名–>(0,0)的坐标。那么姓名的value值必定出现在(张三)–>(1,0),据此可得所有的value值都是(col+1,row),从而解析出姓名=张三,年龄=18 k->v对集合。

第四步,根据姓名=张三对和模板配置的属性对应关系,得到userName–>张三,age–>18。然后构建实体,保存数据。

经实际使用,效果还可以,导了一批2千多用户的存量数据。没出啥问题。但有时会存在一个表头和value相等的BUG。导致读不到正确的表头位置。实际也有人工介入修正的情况。但极少。该功能主要也是做系统上线之初的数据初始化。后面用得较少。也可以接受。

http://www.dtcms.com/wzjs/806879.html

相关文章:

  • 网站开发资金大型网站建设的必须条件
  • 网站建设流程信息门户网站运营
  • 网站如何能吸引用户微博营销的特点
  • 山东省建设厅定额网站聊城大型门户网站建设
  • 360建网站在线crm系统价格
  • 网站建设与制作 试卷与答案wordpress 4.7.8
  • 济南网站建设平台软件开发是编程吗
  • 合肥建公司网站厦门企业官方网站建设
  • 公司做网站文案怎么写石家庄住房和建设局网站
  • 网站下做二级域名学习软件有哪些
  • 网站链接分析公司开个网站多少钱
  • wordpress自建站有什么好的网站做数学题吗
  • 惠州网站搭建怎么做企业手机网站建设定制
  • 保定企业网站建设网站制作公司怎么运营
  • 2018年做淘宝客网站需要备案嘛建设网站需求文档
  • 爱站之家电脑版和手机版网站怎么做
  • 网站建设廴金手指花总壹陆河北世达建设集团有限公司网站
  • 公司建设网站计入什么分录建设个电商平台网站需要多少钱
  • 莱州市住房和规划建设管理局网站最新常州网页制作招聘
  • 如何做网站主页建设茶叶网站目的
  • 本地化吃喝玩乐平台网站可以做吗php餐饮网站
  • ui模板网站wordpress c博客
  • 在腾讯云怎样建设网站手机与pc网站同步模板
  • 网站类的知识公司网站怎么做实名认证
  • 做兼职的网站贴吧中国纪检监察网官网
  • 怎么制作商城小程序西安seo网站排名优化公司
  • 可以用电脑做网站主机吗网站建设合同 简单
  • 泸州中泸建设集团有限公司网站上海传媒公司李健
  • 四川省建设厅网站官网wordpress 字体样式
  • php做网站需要html泸县手机网站建设