前言:公司有项目需要用到导入excel数据进行数据统计分析,进行对比后,发现jxls比poi少写不少代码,api调用也相当方便。从而在项目中采用此技术,特辑之。(阐述方式从底层到视图层)
1、确定excel文档中个字段的含义和文档格式。
2、对应编写excel相近的xml模板文件:
<?xml version="1.0" encoding="utf-8" ?>
<workbook>
//sheet名字
<worksheet name="XXXX考勤表">
<section startRow="0" endRow="0"/>
<loop startRow="1" endRow="1" items="attendanceDatas"
var="attendanceData" varType="net.xxxxtech.xxoa.vo.AttendanceData">
<section startRow="1" endRow="1">
<mapping row="1" col="0">attendanceData.number</mapping>
<mapping row="1" col="1">attendanceData.attendNum</mapping>
<mapping row="1" col="2">attendanceData.selfDefineNum</mapping>
<mapping row="1" col="3">attendanceData.name</mapping>
<mapping row="1" col="4">attendanceData.isCapacityArrange</mapping>
<mapping row="1" col="5">attendanceData.attendDate</mapping>
<mapping row="1" col="6">attendanceData.correspondingStep</mapping>
<mapping row="1" col="7">attendanceData.openTime</mapping>
<mapping row="1" col="8">attendanceData.closingTime</mapping>
<mapping row="1" col="9">attendanceData.signInTime</mapping>
<mapping row="1" col="10">attendanceData.signOutTime</mapping>
<mapping row="1" col="11">attendanceData.dueNum</mapping>
<mapping row="1" col="12">attendanceData.trueNum</mapping>
<mapping row="1" col="13">attendanceData.lateTime</mapping>
<mapping row="1" col="14">attendanceData.earlyTime</mapping>
<mapping row="1" col="15">attendanceData.isAbsent</mapping>
<mapping row="1" col="16">attendanceData.overtimeTime</mapping>
<mapping row="1" col="17">attendanceData.workTime</mapping>
<mapping row="1" col="18">attendanceData.exceptionalCase</mapping>
<mapping row="1" col="19">attendanceData.isAttend</mapping>
<mapping row="1" col="20">attendanceData.isSignOut</mapping>
<mapping row="1" col="21">attendanceData.dept</mapping>
<mapping row="1" col="22">attendanceData.usual</mapping>
<mapping row="1" col="23">attendanceData.weekend</mapping>
<mapping row="1" col="24">attendanceData.holiday</mapping>
<mapping row="1" col="25">attendanceData.attendTime</mapping>
<mapping row="1" col="26">attendanceData.usualOvertime</mapping>
<mapping row="1" col="27">attendanceData.weekendOvertime</mapping>
<mapping row="1" col="28">attendanceData.holidayOvertime</mapping>
</section>
<loopbreakcondition>
<rowcheck offset="0">
<cellcheck offset="0"></cellcheck>
</rowcheck>
</loopbreakcondition>
</loop>
</worksheet>
</workbook>
3、编写对应的vo类:
public class AttendanceData {
private String number;//序号
private String attendNum;//考勤号码