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会丢失,所以你可以传参的时候带上你所需要的条件,在 ...
随机推荐
- IOS笔记 #pragma mark的用法和作用(方便查找和导航代码)
简单的来说就是为了方便查找和导航代码用的. 下面举例如何快速的定位到我已经标识过的代码. #pragma mark 播放节拍器 - (void) Run:(NSNumber *)tick{ ...
- (转)Android: NDK编程入门笔记
转自: http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html 为何要用到NDK? 概括来说主要分为以下几种情况: 1. 代 ...
- 【uva1502/hdu4117-GRE Words】DP+线段树优化+AC自动机
这题我的代码在hdu上AC,在uva上WA. 题意:按顺序输入n个串以及它的权值di,要求在其中选取一些串,前一个必须是后一个的子串.问d值的和最大是多少. (1≤n≤2×10^4 ,串的总长度< ...
- 李洪强经典iOS面试题11
#import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别? #import是Objective-C导入头文件的关键字, ...
- soa思想,就是远程服务调用
dubbo是Java下的一套RPC框架(soa思想)
- iOS 开发--动画
在iOS开发中,制作动画效果是最让开发者享受的环节之一.一个设计严谨.精细的动画效果能给用户耳目一新的效果,吸引他们的眼光 —— 这对于app而言是非常重要的.我们总是追求更为酷炫的实现,如果足够仔细 ...
- Qt之界面出现、消失动画效果(简单好用)
在学习Qt的这2.3个月里,对Qt越发感兴趣,从刚开始的盲目.无所适从到现在的学习.研究.熟练.掌握的过程中,我学到了很多东西,也学会了如何通过自学让自己更加成熟.强大起来,如何更有效地提高自己学习. ...
- SMB2 Protocol – 简介(应用层协议主要用于在计算机间共享文件、打印机、串口等)
SMB2 Protocol – 简介 SMB协议简介: 服务器信息块(SMB)协议是一个应用层协议主要用于在计算机间共享文件.打印机.串口等. 在介绍SMB协议的时候,一般提到使用的端口为139,44 ...
- 可扩展Web架构与分布式系统
原文:可扩展Web架构与分布式系统 开放源代码已经成为一些大型网站的基本原则.而在这些网站成长的过程中,一些优秀的实践经验和规则也出现在他们的结构中.本文旨在介绍一些在大型网站结构设计的过程中需要注意 ...
- Objective-C:三种文件导入的方式以及atomic和nonatomic的区别
一.三种文件导入的方式比较: 类的前项声明@class.import.include: 1.采用@class 类名的方式,它会告诉编译器有这么一个类,目前不需要知道它内部的实例变量和方法是如何定义 ...