F9 excel上传
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上传的更多相关文章
- excel上传和下载
需要注意的地方: 1.js构造表单并提交 2.js中文传参encodeURI(encodeURI("中文")),action接收并转换value = URLDecoder.deco ...
- IT轮子系列(六)——Excel上传与解析,一套代码解决所有Excel业务上传,你Get到了吗
前言 在日常开发当中,excel的上传与解析是很常见的.根据业务不同,解析的数据模型也都不一样.不同的数据模型也就需要不同的校验逻辑,这往往需要写多套的代码进行字段的检验,如必填项,数据格式.为了避免 ...
- EXCEL上传POI
Java SpringMVC POI上传excel并读取文件内容 2017年11月27日 15:26:56 强人锁男. 阅读数:15329 用的SSM框架,所需要的jar包如图所示:,链接地址:j ...
- Excel上传并读取数据
最近一段时间,维护一个旧系统,其中有一个功能,是把Excel上传,并读取数据进行维护,然后转插入至SQL数据库中.下面Insus.NET使用asp.net 标准上传控件: <asp:FileUp ...
- 基于thinkphp5的Excel上传
涉及知识点: thinkphp5.0: excel上传: mysql建立新表(基本的create语句): mysql ignore(避免重复插入): 主要功能: 通过在视图中上传excel文件,在my ...
- 2019.06.05 ABAP EXCEL 操作类代码 OLE方式(模板下载,excel上传,内表下载)
一般使用标准的excel导入方法9999行,修改了标准的excel导入FM 整合出类:excel的 模板下载,excel上传,ALV内表下载功能. 在项目一开始可以SE24创建一个类来供整体开发使用, ...
- poi之Excel上传
poi之Excel上传 @RequestMapping(value = "/import", method = RequestMethod.POST) public String ...
- 基于BootStrap的initupload()实现Excel上传和获取excel中的数据
简单说明:后边要做exl解析(还没做呢),所以先有一个excel的的上传以及获取excel中的数据,展示出来. 代码: //html代码 <div class="btn-group&q ...
- c# vs2010 excel 上传oracle数据
excel 数据表上传到oracle数据库.过程例如以下: 1.打开本地excel文件 2.用OleDb连接excel文件 3.将来excel的数据读取到dataset中 4.把dataset 中数据 ...
随机推荐
- General Structure of Quartz.NET and How To Implement It
General Structure of Quartz.NET and How To Implement It General Structure of Quartz.NET and How To ...
- Nvelocity模板引擎开发网页
在ASP.NET网站开发中,我们要做许多的网页,如果多个网页的内容框架有些重复使用,我们用NVelocity模板引擎,就可以把相同的部分html代码单独放在一个文件中就行了,当要使用的时候,只需使用# ...
- sql 清除日志空间
USE DBCenter GO SELECT file_id, name FROM sys.database_files; 查找日志名称 USE DBCenter ; GO ALTER DATABAS ...
- ios开发屏幕问题
1. 程序要要支持Iphone 和 ipad,所以首先必需创建一通用程序,这一操作只要在创建程序时在 devices那栏上勾选universal即可,完成后会发现有两个.xib文件,但只有一个view ...
- C#中 如何执行带GO的sql 语句
C#中是不允许执行带GO的sql 语句的, 如何做呢? 思路就是将带GO的sql语句转化为分段执行, 但在同一事务内执行. 扩展方法是个很不错的主意, 但是尽量不要影响原来的cmd的一些东东, 如 c ...
- shell脚本作为保证PHP脚本不挂掉的守护进程实例
前几天开始跑一份数据名单,名单需要提供用户名.是否有手机号.是否有邮箱,用户名单我轻易的获取到了,但是,用户名单有2000w之多,并且去检测用户是否有手机号.是否有邮箱必须得通过一个对外开放的安全接口 ...
- Ruby设计模式透析之 —— 组合(Composite)
转载请注明出处:http://blog.csdn.net/sinyu890807/article/details/9153761 此为Java设计模式透析的拷贝版,专门为Ruby爱好者提供的,不熟悉R ...
- Lock与synchronized 的区别
多次思考过这个问题,都没有形成理论,今天有时间了,我把他总结出来,希望对大家有所帮助 1.ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候 ...
- 你真的懂javascript中的 “this” 吗?
一.前言: 我们知道 "this" 是javascript语言的一个关键字,在编写javascript代码的时候,经常会见到或者用到它. 但是,有一部分开发朋友,对 "t ...
- HDU--1006
题目介绍 Problem Description The three hands of the clock are rotating every second and meeting each oth ...