画面代码:
<form id="file_form" action="../whiteList/uploadFile" enctype="multipart/form-data" method="post" style="display:none">
<input type="file" id="fileHiden" name="fileHiden" style="display:none" onchange="fileChange()" accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
</form>
前台代码:
function fileChange(){
$('#file_form').submit();
}
后台代码:
@RequestMapping("/uploadFile")
@ResponseBody
public String uploadFile(HttpServletRequest request,HttpServletResponse response){
// TODO
request.getParameter("fileHiden");// 拿不到上传文件
}
```
问题描述:
又查了一天了,由于从来没做过上传,如果有人愿意回答我,可否讲得详细点,给个方向查,已经浪费两天了。
原本的需求是,用户填好数据后,上传一个固定格式的Excel,我要做的是,读取这个EXCEL,再遍历行,到数据库中做个追加。但是查了好多,还是没有头绪。还请大神给个方向,愿意的话,教教我,真的很重要。
现在最先的问题是,我得拿到这个文件,再读取EXCEL。。没悬赏币急死了。。。补充一下,用的框架是SSM框架。
@Controller
@RequestMapping("/excel")
public class ExcelController {
Logger logger = Logger.getLogger(ExcelController.class);
@RequestMapping("importExcel")
public void importExcel(HttpServletRequest request, HttpServletResponse response) throws Exception{
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Workbook wb = null;
try {
MultipartFile file = multipartRequest.getFile("file");
String filename = file.getOriginalFilename();
String fileType = filename.substring(filename.lastIndexOf(".")+1);
logger.info("文件格式"+fileType);
InputStream in = file.getInputStream();
if (fileType.equals("xls")) {
wb = new HSSFWorkbook(in);
}else if(fileType.equals("xlsx")){
wb = new XSSFWorkbook(in);
}else{
throw new Exception("文件类型错误");
}
Sheet sheet = wb.getSheetAt(0);
int count = sheet.getLastRowNum();
for (int i = 1; i <= count; i++) {
Row row = sheet.getRow(i);
row.getCell(0).setCellType(1);
row.getCell(1).setCellType(1);
String id = row.getCell(0).getStringCellValue();
String name = row.getCell(1).getStringCellValue();
logger.info("id=" + id +",name="+name);
}
in.close();
response.getWriter().print("<script type='text/javascript'>parent.clear();alert('消息内容不能为空');</script>");
} catch (Exception e) {
logger.error("导入excel异常", e);
}
}
}
multipartRequest.getFile("file"); 里的file 换成 fileHiden