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 中数据 ...
随机推荐
- Getting Started with Core Data
Getting Started with Core Data Getting Started with Core Data Coreframework支持创建对象模型封装你的应用数据和逻辑满足MVC设 ...
- SuperMap iClient
SuperMap iClient 7C——网络客户端GIS开发平台 产品新特性 SuperMap iClient 7C是空间信息和服务的可视化交互开发平台,是SuperMap服务器系列产品的统一客 ...
- Struts2更改配置文件struts.xml默认路径
struts2配置文件默认存放路径在/WEB-INF/classes目录下,即将struts.xml放在src的目录下. 但是为了协作开发与方便管理,我们有时需要把struts.xml放到其他位置 s ...
- 使用 Spring 2.5 TestContext 测试DAO层
资源准备: mysql5.0 spring-2.5 hibernate-3.2 junit-4.jar 创建表 DROP TABLE IF EXISTS `myproject`.`boys`; ...
- HttpMessageHandler管道[上篇]
HttpMessageHandler管道[上篇] 整个ASP.NET Web API服务端框架采用管道式设计,这个用于“处理请求.响应回复”的管道本质上就是一组HttpMessageHandler的有 ...
- 用Linux命令行实现删除和复制指定类型的文件
(一)Linux 删除当前目录及子目录中所有某种类型的文件 方法1 : 此方法不能处理目录中带空格的那些. rm -rf `find . -name "*.example"` Li ...
- Liferay的架构:缓存(第一部分)
这次,我将要涉及到一个非常重要的概念:缓存.在当今的web应用中,如果没有设计一个比较好的缓存系统,在web中就不可能有一个良好的性能.所以我将要 提到的缓存不仅仅能够更好地理解Liferay架构,而 ...
- C语言序列点浅析
摘要: 现行国内的C语言教材普遍不介绍序列点,这使得读者只能“死记硬背”有序列点表达式的求值顺序,不仅造成了读者对C语言知识的认知残缺不全,而且也影响了读者学习的积极性.本文总结了序列点的作用,即表达 ...
- 使用MFC CImage类绘制PNG图片时遇到的问题
为了测试CImage绘制PNG图片的效果,我们用截图软件截得一张360的界面,然后使用PhotoShop等工具在图片的周边加上了透明的区域,然后保存成PNG图片文件.CImage首先从文件中加载,即 ...
- Android RecyclerView体验(一)- 简介
在网上关于RecyclerView的基本使用方式已经有了比较详细介绍,而且其设计结构也类似于ListView,所以本文将不重点介绍如何使用,在文末的引用中都可以相关内容.这里主要是介绍Recycler ...