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 ...
随机推荐
- 【AngularJS】—— 13 服务Service
在AngularJS中有很多的服务,常用的比如$http,$location等等. 本篇文章会介绍一下的内容: 1 $http这种Angular提供的服务的使用 2 如何自定义服务,并总结服务需要注意 ...
- hadoop安装实战(mac实操)
集群环境配置参考(http://blog.csdn.net/zcf1002797280/article/details/49500027) 参考:http://www.cnblogs.com/liul ...
- PHP 文件与目录操作函数总结
>>>文件操作 打开 fopen(); 打开文件 读取内容 fread(); 从文件指针 handle 读取最多 length 个字节 readfile(); 读入 ...
- POJ 2486 Apple Tree
好抽象的树形DP......... Apple Tree Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6411 Accepte ...
- html 框架
通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面. 本例演示:如何使用三份不同的文档制作一个垂直框架. <html> <frameset cols="25%,50% ...
- 在PHP中$_SESSION的使用方法
使用PHP应用session时,将session中的数据存储在服务器上,然后通过客户端传来的sessionID识别客户端的信息,并提取信息. php中的session的常用操作:session的写入. ...
- 2.交通聚类 -层次聚类(agnes)Java实现
1.项目背景 在做交通路线分析的时候,客户需要找出车辆的行车规律,我们将车辆每天的行车路线当做一个数据样本,总共有365天或是更多,从这些数据中通过聚类来获得行车路线规律统计分析. 我首先想到是K-m ...
- 【PHP面向对象(OOP)编程入门教程】16.__toString()方法
我们前面说过在类里面声明“__”开始的方法名的方法(PHP给我们提供的),都是在某一时刻不同情况下自动调用执行的方 法,“__toString()”方法也是一样自动被调用的,是在直接输出对象引用时自动 ...
- Swift2.1 语法指南——泛型
原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...
- SDK 移动应用开发系统
AppCan SDK 是一套跨平台移动应用开发系统,基于业内领先的Hybrid App 开发引擎,采用HTML5 标准作为开发语言,支持一次开发多平台适配.AppCan SDK 提供应用向导和界面向导 ...