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. Leetcode:Minimus Depth of Binary Tree

    The problem description: Given a binary tree, find its minimum depth. The minimum depth is the numbe ...

  2. 关于Jquery 序列化表单的注意事项

    在JQuery 的serialize方法序列化表单的过程中,如果表单的name值最后有空格,会出现“+”号,查源码可见原因.这一小问题就浪费了半小时的时间,记录下来,备忘.

  3. jQuery Validation让验证变得如此容易(一)

    一.官网下载jquery,和jquery validation plugin http://jqueryvalidation.org/ 二.引入文件 <script src="js/j ...

  4. CodeBlocks的下载安装、配置、简单编程

    CodeBlocks的下载安装.配置.简单编程 IDE简介 http://www.baidu.com/s?wd=codeblocks ,这里只是介绍Windows平台下的IDE环境配置. CodeBl ...

  5. Oracle学习的一些建议(转)

    核心提示:学习Oracle是一个漫长艰辛的过程.如果没有兴趣,只是被迫学习,那么是很难学好的.学习到一定程度的时候,要想进一步提高,就不得不接触很多Oracle之外的东西 学习Oracle是一个漫长艰 ...

  6. Arduino 各种模块篇 蓝牙模块 手机蓝牙控制Arduino LED灯

    解决方案. 条件: 1.手机android 商店下载 blueTerm 2.向arduino中载入如下代码: char val; ; void setup() { Serial.begin(); pi ...

  7. ADO读取EXCEL

    窗体上拖放ADOQuery1,DataSetProvider1,DataSource1,ClientDataSet1,OpenDialog1, ExcelApplication1,ExcelWorkb ...

  8. 小C的树(Treap节点删除)[70/100]

    用Treap暴力模拟,调常数~ 好了,接下来说一下Treap中的删除操作 Step 1:先找到这个结点. Step 2:如果它的儿子≤1,用它儿子替它 否则 把之后做根节点的儿子旋转到根 回到Step ...

  9. C++ 头文件系列(array)

    注意,该头文件仅在C++11中标准才开始出现. 简介 与语言内置的数组一样, array类模版支持几乎所有内置数组包含的特性: 顺序的(sequence) 内存连续的(contiguous stora ...

  10. 【转】简单十步让你全面理解SQL

    简单十步让你全面理解SQL 很多程序员认为SQL是一头难以驯服的野兽.它是为数不多的声明性语言之一,也因为这样,其展示了完全不同于其他的表现形式.命令式语言. 面向对象语言甚至函数式编程语言(虽然有些 ...