Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
王仕雄
/
wangsx-test
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit b37012ca
authored
Aug 07, 2019
by
王仕雄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
excel解析相关工具类与测试方法
1 parent
f898ceb8
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
210 additions
and
0 deletions
khdo/pom.xml
khdo/src/main/java/com/bootdo/common/utils/AAA.java
khdo/src/main/java/com/bootdo/common/utils/ExcelUtilTest.java
khdo/src/main/java/com/bootdo/common/utils/ExeclUtil.java
khdo/src/main/java/com/bootdo/common/utils/HzdyDO.java
khdo/src/main/java/com/bootdo/common/utils/JxlExcelUtils.java
khdo/pom.xml
View file @
b37012c
...
@@ -238,6 +238,24 @@
...
@@ -238,6 +238,24 @@
<version>
1.9.2
</version>
<version>
1.9.2
</version>
</dependency>
</dependency>
<!--jxl jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Excel文档-->
<dependency>
<groupId>
net.sourceforge.jexcelapi
</groupId>
<artifactId>
jxl
</artifactId>
<version>
2.6.12
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi
</artifactId>
<version>
3.16
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi-ooxml
</artifactId>
<version>
3.16
</version>
</dependency>
<!--war包部署需要-->
<!--war包部署需要-->
<!--<dependency>-->
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<groupId>org.springframework.boot</groupId>-->
...
...
khdo/src/main/java/com/bootdo/common/utils/AAA.java
0 → 100644
View file @
b37012c
package
com
.
bootdo
.
common
.
utils
;
public
class
AAA
{
public
static
void
main
(
String
[]
args
)
{
String
ids
=
"[380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409]"
;
String
answers
=
"[B不同意, ['C脱敏治疗','B提高免疫力','A 避免接触过敏原'], B不同意, ['卡托普利','赖诺普利片','苯磺酸氨氯地平片','珍菊降压片','氢氯噻嗪'], ['泮托拉唑','奥美拉唑','兰索拉唑','氢氧化铝片'], ['容易引发脑溢血','长期高血压导致肾衰竭','容易导致动脉粥样硬化','长期高血压导致冠心病'], ['晕车贴','晕车药','坐车前不吃东西','吸闻橘子皮预防晕车'], ['不得掰开使用','服用时不能咀嚼'], ['鼻塞','鼻痒','流涕','喷嚏','慢性荨麻疹','皮肤瘙痒','哮喘','面部红斑','过敏性结膜炎'], ['氯雷他定','扑尔敏片'], ['肥胖','吸烟','饮酒','缺乏运动','高血压病家族遗传史','老年人','怀孕的妇女','食盐摄入量大的人','饮食过于油腻的人'], ['抗酸剂','抑酸剂','粘膜保护剂'], ['厌食','营养不良','身体消瘦','肠梗阻及穿孔','智力发育障碍','荨麻疹','哮喘'], ['接触患有肠道寄生虫病的患者',]"
;
String
[]
s
=
ids
.
split
(
","
);
String
[]
s2
=
answers
.
split
(
","
);
String
a2
=
"B不同意@|,['B提高免疫力']@|,B不同意@|,['苯磺酸氨氯地平片','珍菊降压片','氢氯噻嗪']@|,['兰索拉唑','奥美拉唑']@|,['容易导致动脉粥样硬化','长期高血压导致冠心病']@|,['坐车前不吃东西']@|,['其他','服用时不能咀嚼']@|,['鼻痒','慢性荨麻疹','喷嚏','过敏性结膜炎']@|,['康必得','氯雷他定','扑尔敏片']@|,['饮酒','缺乏运动','食盐摄入量大的人']@|,['促胃肠动力药','粘膜保护剂']@|,['身体消瘦','肠梗阻及穿孔']@|,['接触被污染的玩具','接触被污染的地板']@|,['定期服用驱虫药','瓜果蔬菜洗净吃']@|,['阿苯达唑片','其他']@|,['男性性功能障碍']@|,['海鲜','紫外线','动物皮毛']@|,['失眠','耳鸣','头晕']@|,['B降压药不能随便吃,一旦吃了就断不了','D降压药有副作用,尽量不使用降压药']@|,['B电视广告','D药店服务人员介绍','F听别人介绍']@|,['C不好,没什么效果,反而嗜睡等副作用很大 对我没"
;
String
[]
a22
=
a2
.
split
(
"[@][|],"
);
System
.
out
.
println
(
99
);
}
}
khdo/src/main/java/com/bootdo/common/utils/ExcelUtilTest.java
0 → 100644
View file @
b37012c
package
com
.
bootdo
.
common
.
utils
;
import
java.io.FileInputStream
;
import
java.io.FileNotFoundException
;
import
java.io.InputStream
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
public
class
ExcelUtilTest
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
InputStream
in
=
new
FileInputStream
(
"d://12348.xls"
);
Map
<
String
,
String
>
fieldd
=
new
HashMap
<
String
,
String
>();
fieldd
.
put
(
"ids"
,
"ids"
);
fieldd
.
put
(
"titles"
,
"titles"
);
fieldd
.
put
(
"answers"
,
"answers"
);
List
<
HzdyDO
>
resultList
=
new
ArrayList
<
HzdyDO
>();
resultList
=
ExeclUtil
.
ExecltoList
(
in
,
HzdyDO
.
class
,
fieldd
);
List
<
Integer
>
idLength
=
new
ArrayList
<
Integer
>();
List
<
Integer
>
titleLength
=
new
ArrayList
<
Integer
>();
List
<
Integer
>
answerLength
=
new
ArrayList
<
Integer
>();
for
(
HzdyDO
hzdyDO:
resultList
)
{
idLength
.
add
(
hzdyDO
.
getIds
().
split
(
"[@][|],"
).
length
);
titleLength
.
add
(
hzdyDO
.
getTitles
().
split
(
"[@][|],"
).
length
);
answerLength
.
add
(
hzdyDO
.
getAnswers
().
split
(
"[@][|],"
).
length
);
}
//id与title对比
for
(
int
i
=
0
;
i
<
idLength
.
size
();
i
++)
{
if
(
idLength
.
get
(
i
).
intValue
()
!=
titleLength
.
get
(
i
).
intValue
())
{
System
.
out
.
println
(
"第"
+
i
+
1
+
"条数据的id与title长度不匹配"
);
break
;
}
if
(
idLength
.
get
(
i
).
intValue
()
!=
answerLength
.
get
(
i
).
intValue
())
{
System
.
out
.
println
(
"第"
+
i
+
1
+
"条数据的id与answer长度不匹配"
);
break
;
}
}
//对查询结果中的题目id,题目文本,用户答案进行拆分
List
<
Map
<
String
,
Object
>>
finalDataList
=
new
ArrayList
<
Map
<
String
,
Object
>>();
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
Map
finalMap
=
new
HashMap
<
String
,
Object
>();
finalMap
.
put
(
"enterpriseName"
,
i
+
"a"
);
//乙方企业
finalMap
.
put
(
"projectName"
,
i
+
"b"
);
//项目名称
finalMap
.
put
(
"taskDt"
,
i
+
"c"
);
//任务月度
finalMap
.
put
(
"fullName"
,
i
+
"d"
);
//答题人姓名
finalMap
.
put
(
"phone"
,
i
+
"e"
);
//答题人手机号
finalMap
.
put
(
"createDt"
,
i
+
"f"
);
//答题时间
finalMap
.
put
(
"audit_status"
,
i
+
"g"
);
//状态
String
topicIds
=
String
.
valueOf
(
resultList
.
get
(
i
).
getIds
());
//用户答题的,题目id数组, 与问卷标准的id数组可能不匹配,但与用户答题的题目文本,题目答案数组是匹配的
topicIds
=
topicIds
.
substring
(
0
,
topicIds
.
length
()-
2
);
String
topicTitles
=
String
.
valueOf
(
resultList
.
get
(
i
).
getTitles
());
//用户答题的,题目文本数组
topicTitles
=
topicTitles
.
substring
(
0
,
topicTitles
.
length
()-
2
);
String
topicAnswers
=
String
.
valueOf
(
resultList
.
get
(
i
).
getAnswers
());
//用户答题的,题目答案数组
topicAnswers
=
topicAnswers
.
substring
(
0
,
topicAnswers
.
length
()-
2
);
List
<
String
>
topicIdList
=
new
ArrayList
<
String
>();
//当前问卷应该存在的题目id 问卷的标准id数组
String
[]
topicIdArr
=
topicIds
.
split
(
"[@][|],"
);
String
[]
topicTitleArr
=
topicTitles
.
split
(
"[@][|],"
);
String
[]
topicAnswerArr
=
topicAnswers
.
split
(
"[@][|],"
);
for
(
int
j
=
0
;
j
<
topicIdArr
.
length
;
j
++)
{
finalMap
.
put
(
topicIdArr
[
j
],
topicAnswerArr
[
j
]);
}
finalDataList
.
add
(
finalMap
);
}
//设置报表名字
String
fileName
=
"医学调研任务报表新"
;
//设置分页名称
String
sheetName
=
"医学调研任务记录新"
;
//设置报表1表头
String
[]
columns
=
{
"乙方企业"
,
"项目名称"
,
"任务月度"
,
"项目参与人"
,
"手机号"
,
"填写时间"
,
"状态"
};
//状态单独处理
String
statusRemark
=
"audit_status|1:审核中|2:审核通过|3:审核不通过|其他"
;
//设置报表从map中获取的key,必须与表头长度对应
String
[]
columnKeys
=
{
"enterpriseName"
,
"projectName"
,
"taskDt"
,
"fullName"
,
"phone"
,
"createDt"
,
statusRemark
};
//增加表头,增加key 表头为题目的title ,key为题目的id
List
<
String
>
columnArr
=
new
ArrayList
<
String
>(
Arrays
.
asList
(
columns
));
List
<
String
>
columnKeyArr
=
new
ArrayList
<
String
>(
Arrays
.
asList
(
columnKeys
));
String
[]
topicIdArr
=
resultList
.
get
(
0
).
getIds
().
split
(
"[@][|],"
);
String
[]
topicTitleArr
=
resultList
.
get
(
0
).
getTitles
().
split
(
"[@][|],"
);
for
(
int
j
=
0
;
j
<
topicIdArr
.
length
;
j
++)
{
columnArr
.
add
(
String
.
valueOf
(
topicTitleArr
[
j
]));
columnKeyArr
.
add
(
String
.
valueOf
(
topicIdArr
[
j
]));
}
String
[]
columnsV2
=
new
String
[
columnArr
.
size
()];
String
[]
columnKeysV2
=
new
String
[
columnKeyArr
.
size
()];
columnArr
.
toArray
(
columnsV2
);
columnKeyArr
.
toArray
(
columnKeysV2
);
//第一个excel表格
JxlExcelUtils
.
exportOwoSheetExcleFinal
(
null
,
fileName
,
finalDataList
,
sheetName
,
columnsV2
,
columnKeysV2
);
System
.
out
.
println
(
999
);
}
}
khdo/src/main/java/com/bootdo/common/utils/ExeclUtil.java
0 → 100644
View file @
b37012c
This diff is collapsed.
Click to expand it.
khdo/src/main/java/com/bootdo/common/utils/HzdyDO.java
0 → 100644
View file @
b37012c
package
com
.
bootdo
.
common
.
utils
;
public
class
HzdyDO
{
String
ids
;
String
titles
;
String
answers
;
public
String
getIds
()
{
return
ids
;
}
public
void
setIds
(
String
ids
)
{
this
.
ids
=
ids
;
}
public
String
getTitles
()
{
return
titles
;
}
public
void
setTitles
(
String
titles
)
{
this
.
titles
=
titles
;
}
public
String
getAnswers
()
{
return
answers
;
}
public
void
setAnswers
(
String
answers
)
{
this
.
answers
=
answers
;
}
}
khdo/src/main/java/com/bootdo/common/utils/JxlExcelUtils.java
0 → 100644
View file @
b37012c
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment