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会丢失,所以你可以传参的时候带上你所需要的条件,在 ...
随机推荐
- 由浅入深了解Thrift之客户端连接池化续
前文<由浅入深了解Thrift之客户端连接池化>中我们已经实现了服务调用端 连接的池化,实现的过于简陋,离实际的项目运用还很遥远.本文将在进一步改造,主要是两方面:1.服务端如何注册多个服 ...
- codeforces 442C C. Artem and Array(有深度的模拟)
题目 感谢JLGG的指导! 思路: //把数据转换成一条折线,发现有凸有凹 //有凹点,去掉并加上两边的最小值//无凹点,直接加上前(n-2)个的和(升序)//数据太大,要64位//判断凹与否,若一边 ...
- POJ 2185 Milking Grid (KMP,求最小覆盖子矩阵,好题)
题意:给出一个大矩阵,求最小覆盖矩阵,大矩阵可由这个小矩阵拼成.(就如同拼磁砖,允许最后有残缺) 正确解法的参考链接:http://poj.org/showmessage?message_id=153 ...
- [STL]双层级配置器
考虑到过多“小型区块”可能造成的内存碎片问题,SGI设计了双层级配置器: 第一级配置器直接调用malloc()和free(): 第二级配置器分两种情况:当配置区块大于128字节时,调用第一级配置器:当 ...
- POJ 1870 Bee Breeding(找规律)
题目链接 题意 : 给你一个蜂巢状图形,让你找出两个点之间的距离. 思路 : 在做这个题之前可以看一下2265,因为是一种题来着,规律就是我在2265里写的那样,然后就是求距离了,求距离的时候只需考虑 ...
- Linux网络编程9——对TCP与UDP的简易封装2.0
具体生成动态库的操作及使用该动态库的操作请参见上篇博文.以下仅仅列出改进版本的代码. 代码 my_socket.h #ifndef __MY_SOCKET_H__ #define __MY_SOCKE ...
- DFS/BFS+思维 HDOJ 5325 Crazy Bobo
题目传送门 /* 题意:给一个树,节点上有权值,问最多能找出多少个点满足在树上是连通的并且按照权值排序后相邻的点 在树上的路径权值都小于这两个点 DFS/BFS+思维:按照权值的大小,从小的到大的连有 ...
- 跨平台的加密算法XXTEA 的封装
跨平台的加密算法XXTEA 的封装 XXTEA算法的结构非常简单,只需要执行加法.异或和寄存的硬件即可,且软件实现的代码非常短小,具有可移植性. 维基百科地址:http://en.wikipedia. ...
- 李洪强漫谈iOS开发[C语言-041]-计算月份天数
李洪强漫谈iOS开发[C语言-041]-计算月份天数
- ruby 学习 -- string --1
# define french_string = "il \xc3\xa9tait une fois" long_string = <<EOF Here is a lo ...