Uploadify上传Excel到数据库
前两章简单的介绍了Uploadify上传插件的基本使用和相关的属性说明。这一章结合Uploadify+ssh框架+jquery实现Excel上传并保存到数据库。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
public class UploadAction { private File uploadFile;// 封装文件属性 private String uploadFileFileName;// 文件名称 private String msg; private StudentService studentService; public String upload() { try { String extName = ""; String newFileName = ""; // 设置传入的文件的编码 HttpServletResponse response = ServletActionContext.getResponse(); response.setCharacterEncoding("utf-8"); // 服务器目录 String targetDirectory = ServletActionContext.getServletContext() .getRealPath("/upload"); // 获取扩展名 if (uploadFileFileName.lastIndexOf(".") >= 0) { extName = uploadFileFileName.substring(uploadFileFileName .lastIndexOf(".")); } // 设置上传文件的新文件名 String nowTime = new SimpleDateFormat("yyyymmddHHmmss") .format(new Date());// 当前时间 newFileName = nowTime + extName; // 生成上传的文件对象 File targetFile = new File(targetDirectory, newFileName); // 文件已经存在删除原有文件 if (targetFile.exists()) { targetFile.delete(); } // 复制file对象上传 FileUtils.copyFile(uploadFile, targetFile); // 上传数据到数据库 msg = studentService.doUploadStudentData(targetFile); // 删除上传数据 targetFile.delete(); } catch (Exception e) { e.printStackTrace(); msg = "上传出现异常!"; } return "success_upload"; } |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
public String doUploadStudentData(File file) { Workbook wb = null; Sheet sheet = null; String value = null; Row row = null;// 表格行 Student stu = null; String msg = null;// 返回消息 int count = 0;// 成功上传条数 try { // 将文件转成文件输入流 InputStream is = new FileInputStream(file); // 判断Excel版本 if (file.getName().toUpperCase().endsWith(".XLSX")) { wb = new XSSFWorkbook(is);// Excel 2007 } else { wb = new HSSFWorkbook(is);// Excel 2003 } FormulaEvaluator formulaEvaluator = wb.getCreationHelper() .createFormulaEvaluator();// 解析公式结果 // 获得第一个表格页 sheet = wb.getSheetAt(0); System.out.println(sheet.getLastRowNum() + "记录长度"); // 遍历数据 for (int j = 1; j <= sheet.getLastRowNum(); j++) { stu = new Student(); // 获取某一行 row = sheet.getRow(j); stu.setId(row.getRowNum()); // 姓名 value = ExcelUtil.getValue(row.getCell(0), formulaEvaluator); if (StringUtils.isNotBlank(value)) { stu.setName(value); } // 年龄 value = ExcelUtil.getValue(row.getCell(1), formulaEvaluator); if (StringUtils.isNotBlank(value)) { stu.setAge(value.indexOf(value)); } // 性别 value = ExcelUtil.getValue(row.getCell(2), formulaEvaluator); if (StringUtils.isNotBlank(value)) { stu.setSex(value); } // 家庭住址 value = ExcelUtil.getValue(row.getCell(3), formulaEvaluator); if (StringUtils.isNotBlank(value)) { stu.setAddress(value); } // 联系方式 value = ExcelUtil.getValue(row.getCell(4), formulaEvaluator); if (StringUtils.isNotBlank(value)) { stu.setPhone(value.indexOf(value)); } // 兴趣 value = ExcelUtil.getValue(row.getCell(5), formulaEvaluator); if (StringUtils.isNotBlank(value)) { stu.setLikedo(value); } count++; this.studentDao.createOrUpdate(stu); } msg = "数据上传成功,一共上传" + count + "条!"; } catch (Exception e) { e.printStackTrace(); msg = e.getMessage(); } return msg; } |



原创文章,转载请注明: 转载自java开发者
本文链接地址: Uploadify上传Excel到数据库
Uploadify上传Excel到数据库的更多相关文章
- sql server使用sql语句上传Excel到数据库
USE pro GO SELECT * INTO temp_budget_price@201704170950 FROM OPENDATASOURCE('Microsoft.Jet.OLE ...
- 上传excel数据到数据库中
上传excel表格数据到数据库 导入固定路径下的excel数据到数据库 <form id="disposeFlightDataForm" action="../up ...
- postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库
最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...
- Django上传excel表格并将数据写入数据库
前言: 最近公司领导要统计技术部门在各个业务条线花费的工时百分比,而 jira 当前的 Tempo 插件只能统计个人工时.于是就写了个报表工具,将 jira 中导出的个人工时excel表格 导入数据库 ...
- jsp+servlet上传excel并将数据导入到数据库表的实现方法
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 使用ocupload和POI一键上传Excel并解析导入数据库
使用的工具如下: JQuery ocupload jquery.ocupload-1.1.2.js Apache POI poi-3.9.jar 如果是Maven项目添加依赖如下: <depe ...
- Uploadify 上传文件插件详解
Uploadify 上传文件插件详解 Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中 ...
- java的poi技术下载Excel模板上传Excel读取Excel中内容(SSM框架)
使用到的jar包 JSP: client.jsp <%@ page language="java" contentType="text/html; charset= ...
- jquery的uploadify上传jsp+servlet
1.准备材料:下载jquery.uploadify上传js 注意:这个上传在firefox下会出现问题如果你在项目中加了拦截器,因为session会丢失,所以你可以传参的时候带上你所需要的条件,在 ...
随机推荐
- Javacript中(function(){})() 与 (function(){}()) 区别 {转}
这个问题可以从不同的角度来看,但从结果上来说 :他们是一样的.首先,如果从AST(抽象语法树)的角度来看,两者的AST是一模一样的,最终结果都是一次函数调用.因此,就解析器产生的结果论而言,两者是没有 ...
- eclipse编译项目jar,git管理代码
2015-3-10 settings.xml文件: <localRepository>C:\Users\xxx\.m2\repository</localRepository> ...
- 历代诗词咏宁夏注释3----蔡升元:<题大清渠>
题大清渠 蔡升元 为怜□□□□□,□□□□□□□. □□□□沙碛里,凿开峡口贺兰旁. 支分九堡通沟浍,鼎峙三渠并汉唐. 作吏尽如君任事,不难到处乐丰穰. 两渠中划大清渠,畚筑无劳民力纾.[1] 心画万 ...
- NetCore第一步:千里之行 始于环境构筑
今年的6月28号,微软发布了一个正式版本 NetCore.发布的同时,也同时发布了CoreStudio. 这个激动人心的时刻,让跨平台已经不再是什么神话. 让我们一起来开始Core的开发之旅吧. 万事 ...
- UVA 1362 Exploring Pyramids 区间DP
Archaeologists have discovered a new set of hidden caves in one of the Egyptian pyramids. The decryp ...
- cache写策略
cache写策略 Write Through (完全写入) CPU向cache写入数据时,同时向memory也写一份,使cache和memory的数据保持一致.优点是简单,缺点是每次都要访问memor ...
- 最简单的jdbc程序
package cn.ytu.mybatis.jdbc; import java.sql.Connection; import java.sql.DriverManager; import jav ...
- React属性和状态对比
一.相似点 二.区别 三.如何区分 PS:所有的数据都可以变成属性
- Samba 服务使用的端口和协议(是一组TCP UDP协议的组合,主要使用CIFS协议,有一个Java例子)
Samba服务所使用的端口和协议: 1)Port 137 (UDP) - NetBIOS 名字服务 : nmbd 2)Port 138 (UDP) - NetBIOS 数据报服务 3)Port 139 ...
- 转载网易博客:整理各大网站让网站变灰的css代码
2013-07-21 15:06:47 北京时间2013年4月20日8时02分四川省雅安市芦山县(北纬30.3,东经103.0)发生7.0级地震.震源深度13公里.各大网站将其网站变灰,本人整理了下部 ...