关于springMVC+poi上传Excel文件问题解决
来源:互联网 发布:linux对文件内容排序 编辑:程序博客网 时间:2024/05/19 20:57
controller如下:
/**
* 导入值班表*
* @param dutyExcel
* @return String(导入结果描述)
*/
@RequestMapping(value = "importDutyExcel")
@ResponseBody
public String importDutyExcel(@RequestParam(value = "dutyExcel", required = false) MultipartFile dutyExcel) {
System.out.println("进入");
// 1、获取excel文件
String rString = "";
if (dutyExcel != null) {
String fileName = dutyExcel.getOriginalFilename();
// 判断是否是excel
if (fileName.matches("^.+\\.(?i)((xls)|(xlsx))$")) {
rString = excelService.importDutyExcel(dutyExcel);
System.out.println(rString);
}
}
return "success";
}
service如下:
//如下为文件不能加密的解决方案以及注释掉的加密解决方案
/**
* 获取的Excel文件中可操作的sheet
*
* @param dutyExcel
* @return sheet
* @throws Exception
*/
private Sheet getSheetOfExcel(MultipartFile dutyExcel) throws Exception {
Sheet sheet = null;
try {
// 版本判断
boolean is03Excel = dutyExcel.getOriginalFilename().matches("^.+\\.(?i)(xls)$");
// 后缀
String postfix = is03Excel ? ".xls" : ".xlsx";
/*
* 文件加密方式下解决策略
* // 将上传生成的临时文件写入到本地新建的文件中
* CommonsMultipartFile cf = (CommonsMultipartFile) dutyExcel;
* File file = new File("D:\\fileupload");
* // 创建一个目录 (它的路径名由当前 File 对象指定,包括任一必须的父路径。)
* if (!file.exists())
* file.mkdirs();
* // 新建一个文件
* temExeclFile = new File("D:\\fileupload\\" + new Date().getTime()
* + postfix);
* // 将上传的文件写入新建的文件中
* try {
* cf.getFileItem().write(temExeclFile);
* } catch (Exception e) {
* e.printStackTrace();
* }
* System.out.println("开始睡眠");
* Thread.sleep(4000);
* System.out.println("结束睡眠");
* // 写入输入流
* fileInputStream = new FileInputStream(temExeclFile);
*
* System.out.println(fileInputStream.getFD());
*/
// 1、读取工作簿
Thread.sleep(1000);
Workbook workbook = getWorkbook(is03Excel, dutyExcel.getInputStream());
// 2、读取工作表
sheet = workbook.getSheetAt(0);
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return sheet;
}
// 根据excel版本获取workbook
private Workbook getWorkbook(Boolean is03Excel, InputStream InputStream) throws IOException {
Workbook workbook = null;
if (is03Excel) {
workbook = new HSSFWorkbook(InputStream);
} else {
System.out.println(InputStream.toString());
workbook = new XSSFWorkbook(InputStream);
}
return workbook;
}
- 关于springMVC+poi上传Excel文件问题解决
- SpringMvc+POI上传Excel
- Java SpringMVC POI上传excel并读取文件内容
- POI导出Excel文件图片丢失问题解决
- 使用maven+springmvc+POI对上传的Excel文件进行解析并操作
- 关于springMvc文件上传
- 关于springMvc文件上传
- poi导入excel文件!(spring+springmvc+mybatis)
- EXCEL文件上传,内容格式验证(POI)
- 结合项目(Spring+(基于注解的)SpringMVC和Mybatis+uploadify文件上传)--poi解析Excel文件
- springMvc 中 Excel批量数据上传,利用POI解析数据保存入数据库 及模板文件下载
- SpringMVC POI导出EXCEL
- springMVC+poi导出excel
- springMVC+poi导入excel
- springmvc poi excel
- 关于使用springmvc 上传文件
- poi关于excel文件的操作
- 关于apache POI excel文件导入导出
- 谈下对驾驶证的了解
- MFC下的时间操作
- 使用QT Creator一步一步编写自己的CMake工程
- Redis实现高并发下的抢购,秒杀,解决方案
- Eclipse中的集成Git插件删除线上远程分支
- 关于springMVC+poi上传Excel文件问题解决
- 点击图片放大弹出
- 【金融】四大赛题、中美赛区、明星导师、豪华评委 | JDD大赛报名开启
- 面试题20:顺时针打印矩阵(Leetcode-54和57)
- thinkphp3.2引用ueditor
- javascript 中 alert(1&&2) ==2 问题
- Mysql
- spring在非controlle项目中获取当前request
- 数据库容器化|未来已来