1 在前台制定文件上传按钮

<div id="dataImport" class="mini-webuploader" pickerText="选择文件上传" fileSingleSizeLimit="5120" action="szProjectRegListAction.getDataImportModel"
limitType="xls,xlsx" mimeTypes=".xls,.xlsx" dataImport="true" auto="true" onfilesqueued="ztb.uploader.onFilesQueued" onuploadfinished="ztb.uploader.onUploadFinished" data-options="{refreshIds:'datagrid'}"></div>

2 后台指定相应的方法上传Excel文件

public DataImportModel9 getDataImportModel() {
if (dataImportModel == null) {
dataImportModel = new DataImportModel9(new ImportExcelHandler()
{
private static final long serialVersionUID = 1L; @Override
public void refreshTable() {
CRUDService crud = null; try {
if (execlList.size() > 0) {
crud = new CRUDService();
for (int i = 0, size = execlList.size() - 1; i < size; i++) {
service.insert(execlList.get(i));
InsertBiaoDuanInfo(i);//add by qgj 插入标段表
}
service.insert(execlList.get(execlList.size() - 1));
InsertBiaoDuanInfo(execlList.size() - 1);
}
execlList.clear();
}
catch (Exception e) {
e.printStackTrace();
execlList.clear();
excelImportModel.setMessage("导入失败 ,请联系管理员!");
}
finally {
if (crud != null) {
crud.closeDataSource();
}
}
} @Override
public String saveExcelData(String filename, String sheetName, int sheet, int curRow, int totalRows,
Object[] data) {
if (sheetName != null) {
if (curRow == 0)
return null;
if (curRow == 1)
return null;
if (sheet == 0) {
if (data == null) {
return null;
} String projectname =ZtbCommonDao.getInstance().queryString("select projectName from cg_projectinfo where projectName='" + data[0].toString().trim() + "'");
if(StringUtil.isNotBlank(projectname))
{
return null;
} String SQLJianSheDanWeiGuid =ZtbCommonDao.getInstance().queryString("select DanWeiGuid from View_HuiYuan_AllJianSheDanWei where DanWeiName='" + data[21].toString().trim() + "'");
if(StringUtil.isBlank(SQLJianSheDanWeiGuid))
{
return null;
} int nullCount = 0, entryCount = 0;
for (int i = 0; i < data.length; i++) {
if (data[i] == null) {
nullCount += 1;
}
else {
if ("".equals(data[i].toString())) {
entryCount += 1;
}
}
}
if (nullCount == data.length || entryCount == data.length) {
return null;
}
CgProjectinfo bean_Projectinfo = new CgProjectinfo();
try {
String msg = Uploader2_FileUploaded(bean_Projectinfo, data);
if(StringUtil.isNotBlank(msg))
return msg;
execlList.add(bean_Projectinfo);
}
catch (Exception e) {
e.printStackTrace();
execlList.clear();
return "导入数据出现异常,请联系管理员!";
}
}
}
return null;
}
});
}
return dataImportModel;
}

F9 excel上传的更多相关文章

  1. excel上传和下载

    需要注意的地方: 1.js构造表单并提交 2.js中文传参encodeURI(encodeURI("中文")),action接收并转换value = URLDecoder.deco ...

  2. IT轮子系列(六)——Excel上传与解析,一套代码解决所有Excel业务上传,你Get到了吗

    前言 在日常开发当中,excel的上传与解析是很常见的.根据业务不同,解析的数据模型也都不一样.不同的数据模型也就需要不同的校验逻辑,这往往需要写多套的代码进行字段的检验,如必填项,数据格式.为了避免 ...

  3. EXCEL上传POI

    Java SpringMVC POI上传excel并读取文件内容 2017年11月27日 15:26:56 强人锁男. 阅读数:15329   用的SSM框架,所需要的jar包如图所示:,链接地址:j ...

  4. Excel上传并读取数据

    最近一段时间,维护一个旧系统,其中有一个功能,是把Excel上传,并读取数据进行维护,然后转插入至SQL数据库中.下面Insus.NET使用asp.net 标准上传控件: <asp:FileUp ...

  5. 基于thinkphp5的Excel上传

    涉及知识点: thinkphp5.0: excel上传: mysql建立新表(基本的create语句): mysql ignore(避免重复插入): 主要功能: 通过在视图中上传excel文件,在my ...

  6. 2019.06.05 ABAP EXCEL 操作类代码 OLE方式(模板下载,excel上传,内表下载)

    一般使用标准的excel导入方法9999行,修改了标准的excel导入FM 整合出类:excel的 模板下载,excel上传,ALV内表下载功能. 在项目一开始可以SE24创建一个类来供整体开发使用, ...

  7. poi之Excel上传

    poi之Excel上传 @RequestMapping(value = "/import", method = RequestMethod.POST) public String ...

  8. 基于BootStrap的initupload()实现Excel上传和获取excel中的数据

    简单说明:后边要做exl解析(还没做呢),所以先有一个excel的的上传以及获取excel中的数据,展示出来. 代码: //html代码 <div class="btn-group&q ...

  9. c# vs2010 excel 上传oracle数据

    excel 数据表上传到oracle数据库.过程例如以下: 1.打开本地excel文件 2.用OleDb连接excel文件 3.将来excel的数据读取到dataset中 4.把dataset 中数据 ...

随机推荐

  1. SQLSERVER2012 列存储索引的简单研究和测试

    SQLSERVER2012 列存储索引的简单研究和测试 SQLSERVER2012 列存储索引的简单研究和测试 看这篇文章之前可以先看一下下面这两篇文章: 列存储索引 http://www.cnblo ...

  2. “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)

    “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构.登录窗口.以及主界面) 一.在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增 ...

  3. android 工程里缺少 R.java 文件原因和解决方法

    作为新手,学习android 的时候难免要导入一些示例,目的为了更加了解android各种API用法,顺便也可以学习下别人代码的写法. 可是导入android源码后,基本都有错误,R.java也不会自 ...

  4. C++中const用法详解

    本文主要内容来自CSDN论坛: http://bbs.csdn.net/topics/310007610 我做了下面几点补充. 补充: 1. 用const声明全局变量时, 该变量仅在本文件内可见, 类 ...

  5. Android ListView多布局讲解

    Listview优化是一个老生常谈的事情了,其优化的方面也有很多种,例如,布局重用.在getView()中减少逻辑计算.减少在页面滑动的时候加在图片,而是在页面停止滚动的时候再加在图片.而今天要介绍的 ...

  6. eclipse 导入 Maven 多模块项目

    右键 --> Import --> Existing Maven Projects --> 项目目录 选中所有子模块 --> Delete(一定不要勾选Delete proje ...

  7. are both mapped to the url-pattern 错误解决方法

    今天运行tomcat的时候出现报了一大波错误,下面我截取了部分错误信息: 严重:A child container failed during start java.util.concurrent.E ...

  8. NodeJS Stream 二:什么是 Stream

    对于大部分有后端经验的的同学来说 Stream 对象是个再合理而常见的对象,但对于前端同学 Stream 并不是那么理所当然,github 上甚至有一篇 9000 多 Star 的文章介绍到底什么是 ...

  9. C语言之分支结构 if(一)

    一 程序的三种基本结构 顺序结构:程序从上往下依次执行,这个叫顺序结构 分支结构:有选择的执行或者不执行某段代码 循环结构:重复的执行某段代码 二 分支结构之if 最简单的俩种用法 (tips: if ...

  10. zookeeper删除kafka元数据

    问题:卸载kafka前未删除kafka topic,重新安装kafka后,生成跟之前topic名字相同的topic时报错,显示topic已存在 [root@d96 ~]# kafka-topics - ...