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. Getting Started with Core Data

    Getting Started with Core Data Getting Started with Core Data Coreframework支持创建对象模型封装你的应用数据和逻辑满足MVC设 ...

  2. SuperMap iClient

    SuperMap iClient 7C——网络客户端GIS开发平台 产品新特性   SuperMap iClient 7C是空间信息和服务的可视化交互开发平台,是SuperMap服务器系列产品的统一客 ...

  3. Struts2更改配置文件struts.xml默认路径

    struts2配置文件默认存放路径在/WEB-INF/classes目录下,即将struts.xml放在src的目录下. 但是为了协作开发与方便管理,我们有时需要把struts.xml放到其他位置 s ...

  4. 使用 Spring 2.5 TestContext 测试DAO层

    资源准备:   mysql5.0 spring-2.5  hibernate-3.2  junit-4.jar 创建表 DROP TABLE IF EXISTS `myproject`.`boys`; ...

  5. HttpMessageHandler管道[上篇]

    HttpMessageHandler管道[上篇] 整个ASP.NET Web API服务端框架采用管道式设计,这个用于“处理请求.响应回复”的管道本质上就是一组HttpMessageHandler的有 ...

  6. 用Linux命令行实现删除和复制指定类型的文件

    (一)Linux 删除当前目录及子目录中所有某种类型的文件 方法1 : 此方法不能处理目录中带空格的那些. rm -rf `find . -name "*.example"` Li ...

  7. Liferay的架构:缓存(第一部分)

    这次,我将要涉及到一个非常重要的概念:缓存.在当今的web应用中,如果没有设计一个比较好的缓存系统,在web中就不可能有一个良好的性能.所以我将要 提到的缓存不仅仅能够更好地理解Liferay架构,而 ...

  8. C语言序列点浅析

    摘要: 现行国内的C语言教材普遍不介绍序列点,这使得读者只能“死记硬背”有序列点表达式的求值顺序,不仅造成了读者对C语言知识的认知残缺不全,而且也影响了读者学习的积极性.本文总结了序列点的作用,即表达 ...

  9. 使用MFC CImage类绘制PNG图片时遇到的问题

    为了测试CImage绘制PNG图片的效果,我们用截图软件截得一张360的界面,然后使用PhotoShop等工具在图片的周边加上了透明的区域,然后保存成PNG图片文件.CImage首先从文件中加载,即 ...

  10. Android RecyclerView体验(一)- 简介

    在网上关于RecyclerView的基本使用方式已经有了比较详细介绍,而且其设计结构也类似于ListView,所以本文将不重点介绍如何使用,在文末的引用中都可以相关内容.这里主要是介绍Recycler ...