`

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

 
阅读更多
      最近开发需要进行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>

    
0
0
分享到:
评论

相关推荐

    fr-third-7.1.jar,fr-server-7.1.jar

    fr-third-7.1.jar,fr-server-7.1.jar

    bcprov-ext-jdk15on-1.54.jar和bcprov-jdk15on-1.54.jar

    该压缩文件包含bcprov-ext-jdk15on-1.54.jar和bcprov-jdk15on-1.54.jar,bcprov-jdk15on-154中移除了一些加密算法,bcprov-ext-jdk15on-154中依然保留。可以解决JDK1.6 HttpClient访问https网页报的错

    fine-plugin-com.fr.plugin.reset.userpasswd-1.0.zip

    在信息技术领域,数据的安全性和访问控制是至关重要的。帆软Finereport作为一款强大的...对于使用Finereport的企业或组织来说,这样的插件是必不可少的工具,因为它提高了系统管理效率,同时也增强了系统的安全性。

    tomcat-i18n-fr.jar

    tomcat-i18n-fr.jar

    FineReport应该怎么升级.docx

    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-i18n-fr.jar.zip”暗示了这是一个与ArgoUML相关的软件包,它已经过法语(fr)国际化(i18n)处理,并被打包成一个JAR(Java Archive)文件,然后进一步压缩为ZIP格式。这个文件可能是为了方便在法语...

    yum-2.0.4-1.rh.fr.i386.rpm

    标题中的"yum-2.0.4-1.rh.fr.i386.rpm"是一个RPM(Red Hat Package Manager)软件包,这是Linux系统中用于安装、升级和管理软件的工具。RPM包是Red Hat及其兼容发行版如Fedora、CentOS等系统中广泛使用的软件包格式...

    Python库 | jupyterlab-language-pack-fr-FR-3.2.post0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:jupyterlab-language-pack-fr-FR-3.2.post0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    fr.opensagres.poi.xwpf.converter.pdf-2.0.2.jar

    word转PDF 工具jar包;word模板填充字段有点小脾气,字段 需要带前后空格,或者分号/回车符结尾;不然会替换不了(你将模板转为xml文件,打开就知道原因了,可能将你的字段拆开或者加%空格之类的,需要自己main方法...

    servlet-api-3.0.jar包

    Servlet-api-3.0.jar是Java Servlet API的第三版实现,它是开发Web应用程序的重要组成部分,特别是在基于Java的服务器端编程中。这个库包含了用于创建和管理HTTP服务端点的接口和类,允许开发者构建动态、交互式的...

    jakarta.xml.bind-api-2.3.3-API文档-中英对照版.zip

    赠送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包

    总的来说,"帆软报表使用jar包"涉及到的关键知识点包括Java项目的库管理、jar包的引入方式、版本选择策略以及如何使用帆软报表的API进行报表开发。正确理解和操作这些环节,将有助于提高开发效率和项目的整体质量。

    PCB基板材料基本分类表,FR-1,FR-4.......

    - 成本介于FR-1和FR-4之间。 - CEM-1主要成分是酚醛树脂,而CEM-3则含有更多的环氧树脂。 - 适用于中等成本的单层或多层PCB。 4. **FR-5/CEM-5**: - **定义**:FR-5和CEM-5是基于更高性能环氧树脂的基板材料。...

    org.bouncycastle bcprov-jdk15to18-1.72.jar

    org.bouncycastle csdn上有 bcprov-jdk15to18-1.72.jar ,但没有 bcprov-ext-jdk15to18-1.72.jar 特此上传,免费下载

    JSTL文档(更新至jstl-1_2-mrel2-spec.pdf)

    更新: 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-fr-apidocs.zip"是一个包含JMS 1.1规范的API文档的压缩包,其中的"jms1.1"文件夹可能包含了详细的接口定义、类和方法描述,是理解JMS 1.1核心概念和使用的关键资源。 JMS 1.1是JMS的一个重要版本,它在JMS...

    ejb-3_0-fr-spec-ejbcore.pdf,ejb-3_0-fr-spec-persistence.pdf,ejb-3_0-fr-spec-simplified.pdf

    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考核试卷.zip”暗示了这是一个包含有关FR-NK0301主题考核的文档集合,通常这样的文件可能是某个课程、培训项目或职业认证的考试资料。这种类型的压缩文件通常用于方便用户下载和存储多个相关文件。 ...

    FR-YY0411仓库台帐.zip

    标题中的"FR-YY0411仓库台帐.zip"表明这是一个关于仓库管理的压缩文件,其中可能包含了一份名为"FR-YY0411仓库台帐.xls"的Excel表格。这种类型的文件通常用于记录和追踪仓库内的库存、收发货情况、物品存储位置等...

Global site tag (gtag.js) - Google Analytics