springmvc多文件上传
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public void upload(@RequestParam
MultipartFile file,@RequestParam(required=false) Integer importFlag, HttpServletRequest request, HttpServletResponse response)
throws IOException {
// 如果只是上传一个文件,则只需要MultipartFile类型接收文件即可,而且无需显式指定@RequestParam注解
// 如果想上传多个文件,那么这里就要用MultipartFile[]类型来接收文件,并且还要指定@RequestParam注解
// 并且上传多个文件时,前台表单中的所有<input
// type="file"/>的name都应该是myfiles,否则参数里的myfiles无法获取到所有上传的文件
int flag = 0;
String json;
if (file.isEmpty()) {
System.out.println("文件未上传");
} else {
// 如果用的是Tomcat服务器,则文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\WEB-INF\\upload\\文件夹中
String realPath = request.getSession().getServletContext()
.getRealPath("/upload");
// 这里不必处理IO流关闭的问题,因为FileUtils.copyInputStreamToFile()方法内部会自动把用到的IO流关掉,我是看它的源码才知道的
File xlsFile = new File(realPath, file.getOriginalFilename());
FileUtils.copyInputStreamToFile(file.getInputStream(), xlsFile); HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
xlsFile)); HSSFSheet sheet = workbook.getSheetAt(0);
List<Salary> salaryList = new ArrayList<Salary>();
Salary salary = null;
HSSFRow row = null; for (int i = 2; i < sheet.getLastRowNum() + 1; i++) { row = sheet.getRow(i);
salary = new Salary();
//部门编号
salary.setDeptCode(getCellValue(row.getCell(0)));
//部门名
salary.setDeptName(getCellValue(row.getCell(1)));
//工号
salary.setStaffCode(getCellValue(row.getCell(2)));
//姓名
salary.setRealName(getCellValue(row.getCell(3)));
//岗资
salary.setPostWage(getCellValue(row.getCell(4)));
//薪资
salary.setPay(getCellValue(row.getCell(5)));
//绩效
salary.setMeritPay(getCellValue(row.getCell(6)));
// 岗位津贴
salary.setTask(getCellValue(row.getCell(7)));
// 保留贴
salary.setResponsibility(getCellValue(row.getCell(8)));
//课酬
salary.setKeep(getCellValue(row.getCell(9)));
//其他
salary.setNet(getCellValue(row.getCell(10)));
//补公积
salary.setProvident(getCellValue(row.getCell(11)));
// 岗补
salary.setBack(getCellValue(row.getCell(12)));
// 课补
salary.setBack2(getCellValue(row.getCell(13))); //临补
salary.setTemporyBack(getCellValue(row.getCell(14)));
//应发额
salary.setWages(getCellValue(row.getCell(15)));
// 工会
salary.setLabour(getCellValue(row.getCell(16)));
//失业保险
salary.setUnemployed(getCellValue(row.getCell(17)));
// 医疗保险
salary.setMedical(getCellValue(row.getCell(18)));
// 扣公积
salary.setDeductionProvident(getCellValue(row.getCell(19)));
// 扣一
salary.setDeductionOne(getCellValue(row.getCell(20)));
// 扣
salary.setReserved(getCellValue(row.getCell(21)));
// 养老保险
salary.setPension(getCellValue(row.getCell(22)));
//税所得
salary.setAfterTaxIncome(getCellValue(row.getCell(23)));
// 所得税
salary.setIncomeTax(getCellValue(row.getCell(24)));
//Totaldeductio
salary.setTotaldeduction(getCellValue(row.getCell(25)));
//实发额
salary.setHomepay(getCellValue(row.getCell(26)));
salary.setYear(getCellValue(row.getCell(27)));
salary.setMonth(getCellValue(row.getCell(28)));
salary.setNote(getCellValue(row.getCell(29)));
salaryList.add(salary); } if (salaryList.size() > 0) {
flag = salaryService.insert(salaryList,importFlag);
if (flag > 0) {
xlsFile.delete(); }
}
} if (flag > 0) {
json = "{\"success\":\"true\",\"msg\":\"导入成功!\"}";
} else {
json = "{\"success\":\"false\"}";
}
response.setContentType("text/html;charset=utf-8"); try {
response.getWriter().write(json);
response.getWriter().flush();
response.getWriter().close();
} catch (IOException e) {
e.printStackTrace();
} }
springmvc多文件上传的更多相关文章
- springmvc图片文件上传接口
springmvc图片文件上传 用MultipartFile文件方式传输 Controller package com.controller; import java.awt.image.Buffer ...
- SpringMVC学习--文件上传
简介 文件上传是web开发中常见的需求之一,springMVC将文件上传进行了集成,可以方便快捷的进行开发. springmvc中对多部件类型解析 在 页面form中提交enctype="m ...
- Spring +SpringMVC 实现文件上传功能。。。
要实现Spring +SpringMVC 实现文件上传功能. 第一步:下载 第二步: 新建一个web项目导入Spring 和SpringMVC的jar包(在MyEclipse里有自动生成spring ...
- SpringMVC之文件上传异常处理
一般情况下,对上传的文件会进行大小的限制.如果超过指定大小时会抛出异常,一般会对异常进行捕获并友好的显示出来.以下用SpringMVC之文件上传进行完善. 首先配置CommonsMultipartRe ...
- springmvc实现文件上传
springmvc实现文件上传 多数文件上传都是通过表单形式提交给后台服务器的,因此,要实现文件上传功能,就需要提供一个文件上传的表单,而该表单就要满足以下3个条件 (1)form表彰的method属 ...
- 【SpringMVC】文件上传Expected MultipartHttpServletRequest: is a MultipartResolver错误解决
本文转载自:https://blog.csdn.net/lzgs_4/article/details/50465617 使用SpringMVC实现文件上传时,后台使用了 MultipartFile类, ...
- 关于SpringMVC的文件上传
关于文件的上传,之前写过2篇文章,基于Struts2框架,下面给出文章链接: <关于Struts2的文件上传>:http://www.cnblogs.com/lichenwei/p/392 ...
- 一起学SpringMVC之文件上传
概述 在Web系统开发过程中,文件上传是普遍的功能,本文主要以一个简单的小例子,讲解SpringMVC中文件上传的使用方法,仅供学习分享使用,如有不足之处,还请指正. 文件上传依赖包 如下所示,文件上 ...
- SpringMVC+ajax文件上传实例教程
原文地址:https://blog.csdn.net/weixin_41092717/article/details/81080152 文件上传文件上传是项目开发中最常见的功能.为了能上传文件,必须将 ...
- 6.学习springmvc的文件上传
一.文件上传前提与原理分析 1.文件上传必要前提: 2.文件上传原理分析: 3.需要引入的jar包: 二.传统方式文件上传程序 1.pom.xml <dependency> <gro ...
随机推荐
- 2015年12月28日 Java基础系列(六)流
2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流2015年12月28日 Java基础系列(六)流
- [译]通过IIS Request Filtering解决SQL Server CPU高的问题
原文http://www.peterviola.com/solving-sql-server-high-cpu-with-iis-request-filtering/ Top Queries by T ...
- 【转载】Unity 合理安排增量更新(热更新)
原帖地址:由于我看到的那个网站发的这篇帖子很大可能是盗贴的,我就暂时不贴地址了.避免伤害原作者 原版写的有点乱,我个人修改整理了下. --------------------------------- ...
- linux配置java环境变量
linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586. ...
- Ubuntu 开机进入命令行模式
1.修改配置 sudo vim /etc/default/grub 把 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改为 GRUB_CMDL ...
- phpcms数据库操作
http://www.cnblogs.com/suihui/archive/2013/08/01/3229821.html 一.查 ①select($where = '', $data = '*', ...
- 日期的js插件DatePicker
官网:http://my97.net/dp/index.asp 百度网盘:http://pan.baidu.com/s/1c20y7uC 只显示月份 <input name="cost ...
- [BZOJ1833][ZJOI2010]count 数字计数
[BZOJ1833][ZJOI2010]count 数字计数 试题描述 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 输入 输入文件中仅包含一行两个整数a ...
- 随机添加一个Class,Class提前写好
$("").hover(function(){ var ary = ["red","green","blue",]; v ...
- 回复《我要阻止做java开发的男朋友去创业型公司工作吗?》园友问题
真的非常开心能收到这么多园友的关心,看到这么多的回复顿感身边处处充满爱.也非常感谢大家踊跃的帮我出谋划策,小女子在此有礼了! 我先来回答一下性别的问题(前面已经暴露了……),我是前端程序媛.大三时和男 ...