最近开发需要进行Excel数据导入,在此使用的是fr-third-7.1.jar包实现的数据导入功能。代码如下:
一、js中引入公共支撑方法
//公共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>
二、jsp页面加入导入出发按钮
//按钮
<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>
三、对应导入js方法
//初始化导入
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();
}
}
});
}
四、后台对应方法共分三个方法
(1)公共解析Excel方法-参见ImportData.java
(2)公共调用Action-参见StaffImportAction.java
(3)私有的service方法,通过调用importData获取Excel解析的数据,并进行业务调用,示例代码,非公用StaffImportServiceImpl.java
五、在web.xml配置调用导入action
<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>
分享到:
相关推荐
fr-third-7.1.jar,fr-server-7.1.jar
该压缩文件包含bcprov-ext-jdk15on-1.54.jar和bcprov-jdk15on-1.54.jar,bcprov-jdk15on-154中移除了一些加密算法,bcprov-ext-jdk15on-154中依然保留。可以解决JDK1.6 HttpClient访问https网页报的错
在信息技术领域,数据的安全性和访问控制是至关重要的。帆软Finereport作为一款强大的...对于使用Finereport的企业或组织来说,这样的插件是必不可少的工具,因为它提高了系统管理效率,同时也增强了系统的安全性。
tomcat-i18n-fr.jar
1. **获取升级包**: 与FineReport的技术支持人员联系,获取单独的升级jar包,包括fr-designer-7.1.jar、fr-server-7.1.jar、fr-third-7.1.jar和fr-applet-7.1.jar等。 2. **替换旧jar包**: 删除原有版本的jar包,将...
标题“argouml-i18n-fr.jar.zip”暗示了这是一个与ArgoUML相关的软件包,它已经过法语(fr)国际化(i18n)处理,并被打包成一个JAR(Java Archive)文件,然后进一步压缩为ZIP格式。这个文件可能是为了方便在法语...
标题中的"yum-2.0.4-1.rh.fr.i386.rpm"是一个RPM(Red Hat Package Manager)软件包,这是Linux系统中用于安装、升级和管理软件的工具。RPM包是Red Hat及其兼容发行版如Fedora、CentOS等系统中广泛使用的软件包格式...
资源分类:Python库 所属语言:Python 资源全名:jupyterlab-language-pack-fr-FR-3.2.post0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
word转PDF 工具jar包;word模板填充字段有点小脾气,字段 需要带前后空格,或者分号/回车符结尾;不然会替换不了(你将模板转为xml文件,打开就知道原因了,可能将你的字段拆开或者加%空格之类的,需要自己main方法...
Servlet-api-3.0.jar是Java Servlet API的第三版实现,它是开发Web应用程序的重要组成部分,特别是在基于Java的服务器端编程中。这个库包含了用于创建和管理HTTP服务端点的接口和类,允许开发者构建动态、交互式的...
赠送jar包:jakarta.xml.bind-api-2.3.3.jar; 赠送原API文档:jakarta.xml.bind-api-2.3.3-javadoc.jar; 赠送源代码:jakarta.xml.bind-api-2.3.3-sources.jar; 赠送Maven依赖信息文件:jakarta.xml.bind-api-...
总的来说,"帆软报表使用jar包"涉及到的关键知识点包括Java项目的库管理、jar包的引入方式、版本选择策略以及如何使用帆软报表的API进行报表开发。正确理解和操作这些环节,将有助于提高开发效率和项目的整体质量。
- 成本介于FR-1和FR-4之间。 - CEM-1主要成分是酚醛树脂,而CEM-3则含有更多的环氧树脂。 - 适用于中等成本的单层或多层PCB。 4. **FR-5/CEM-5**: - **定义**:FR-5和CEM-5是基于更高性能环氧树脂的基板材料。...
org.bouncycastle csdn上有 bcprov-jdk15to18-1.72.jar ,但没有 bcprov-ext-jdk15to18-1.72.jar 特此上传,免费下载
更新: jstl-1_2-mrel2-spec.pdf jstl-1_2-mrel2-api.zip ===================== jstl-1_1-mr2-spec.pdf ===================== jstl-1_0-fr-spec.pdf jstl-1_0-fr-api.zip
"jms-1_1-fr-apidocs.zip"是一个包含JMS 1.1规范的API文档的压缩包,其中的"jms1.1"文件夹可能包含了详细的接口定义、类和方法描述,是理解JMS 1.1核心概念和使用的关键资源。 JMS 1.1是JMS的一个重要版本,它在JMS...
1. EJB Core (ejb-3_0-fr-spec-ejbcore.pdf): EJB Core涵盖了EJB的基础架构,包括会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean(Message-Driven Beans)。在EJB 3.0中,主要引入了注解驱动...
标题“FR-NK0301考核试卷.zip”暗示了这是一个包含有关FR-NK0301主题考核的文档集合,通常这样的文件可能是某个课程、培训项目或职业认证的考试资料。这种类型的压缩文件通常用于方便用户下载和存储多个相关文件。 ...
标题中的"FR-YY0411仓库台帐.zip"表明这是一个关于仓库管理的压缩文件,其中可能包含了一份名为"FR-YY0411仓库台帐.xls"的Excel表格。这种类型的文件通常用于记录和追踪仓库内的库存、收发货情况、物品存储位置等...