使用 fr-third-7.1.jar进行excel导入

[size=medium] 最近开发需要进行Excel数据导入,在此使用的是fr-third-7.1.jar包实现的数据导入功能。代码如下:[/size]
[size=medium][b] 一、js中引入公共支撑方法[/b][/size]
    //公共js
<!-- The template to display files available for upload -->
<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-upload fade">
<td>
<span class="preview"></span>
</td>
<td>

<strong class="error text-danger"></strong>
</td>
<td>
<p class="size">Processing...
<div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div>
</td>
<td>
{% if (!i && !o.options.autoUpload) { %}
<button class="btn btn-primary start" disabled>
<i class="glyphicon glyphicon-upload"></i>
<span>Start</span>
</button>
{% } %}
{% if (!i) { %}
<button class="btn btn-warning cancel">
<i class="glyphicon glyphicon-ban-circle"></i>
<span>Cancel</span>
</button>
{% } %}
</td>
</tr>
{% } %}
</script>


<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-download fade">
<td>
<span class="preview">
{% if (file.thumbnailUrl) { %}
[url={%=file.url%}]<img src="{%=file.thumbnailUrl%}">[/url]
{% } %}
</span>
</td>
<td>

{% if (file.url) { %}
[url={%=file.url%}]{%=file.name%}[/url]
{% } else { %}
<span>{%=file.name%}</span>
{% } %}

{% if (file.error) { %}
<div><span class="label label-danger">Error</span> {%=file.error%}</div>
{% } %}
</td>
<td>
<span class="size">{%=o.formatFileSize(file.size)%}</span>
</td>
<td>
{% if (file.deleteUrl) { %}
<button class="btn btn-danger delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
<i class="glyphicon glyphicon-trash"></i>
<span>Delete</span>
</button>
<input type="checkbox" name="delete" value="1" class="toggle">
{% } else { %}
<button class="btn btn-warning cancel">
<i class="glyphicon glyphicon-ban-circle"></i>
<span>Cancel</span>
</button>
{% } %}
</td>
</tr>
{% } %}
</script>

[size=medium][b] 二、jsp页面加入导入出发按钮[/b][/size]
//按钮
<button id="extremeImport" class="btn btn-primary btn-xs" type="button" onclick="document.getElementById('extremeFileupload').click();"><i class="icon-download-alt bigger-110"></i>导入</button>
<span class="fileinput-button" id="basicreport_import" style="display: none;">
<input id="extremeFileupload" type="file" name="files[]" title="导入" onchange="waitingUpload_extreme();return false;">
</span>

[size=medium][b] 三、对应导入js方法[/b][/size]
    //初始化导入
function initExtremeUploadFile(){
//文件上传地址
var basePath = $("#basePath").val();
var url = basePath + "importAnalysis?flagName=extreme";
// //初始化,主要是设置上传参数,以及事件处理方法(回调函数)
$('#extremeFileupload').fileupload({
autoUpload: true,//是否自动上传
url: url,//上传地址
dataType: 'json',
done: function (e, jsondata) {//设置文件上传完毕事件的回调函数
if(jsondata["result"].expName == 'errorFile'){
sinosoft.tip.warn("文件类型错误,不能解析!");
sinosoft.waiting.closeBodyWaiting();
}else if(jsondata["result"].expName!='error'){
//此处处理导入成功代码
}else{
sinosoft.tip.warn("导入数据没有按照格式填写,无法导入数据");
sinosoft.waiting.closeBodyWaiting();
}
}
});
}


[size=medium][b]四、后台对应方法共分三个方法[/b][/size]
[size=medium] (1)公共解析Excel方法-参见[b]ImportData.java[/b]
(2)公共调用Action-参见[b]StaffImportAction.java[/b]
(3)私有的service方法,通过调用importData获取Excel解析的数据,并进行业务调用,[b]示例代码,非公用StaffImportServiceImpl.java[/b][/size]
[size=medium][b]五、在web.xml配置调用导入action[/b][/size]
  <servlet>
<servlet-name>ImportStaff</servlet-name>
<servlet-class>com.sinosoft.component.staff.view.StaffImportAction</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>ImportStaff</servlet-name>
<url-pattern>/importStaff</url-pattern>
</servlet-mapping>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值