工具类使用规整一下
springboot项目csv与excel文件问题
MultipartFile 文件转化问题
MultipartFile 是啥
SpringBoot使用MultiPartFile接收来自表单的file文件
- MultipartFile是一个接口,继承了InputStreamSource接口
- MockMultipartFile、CommonsMultipartFile实现MultipartFile接口
MockMultipartFile方法介绍
- getOriginalFilename()在客户端的文件系统中返回原始文件名
- getName()返回多部分表单中参数的名称。
- getInputStream()返回一个InputStream以从中读取文件的内容。通过此方法就可以获取到流
MultipartFile 转化 File
try {
File newFile = new File(System.getProperty("java.io.tmpdir") + "/" + file.getOriginalFilename());
try {
file.transferTo(newFile);
} catch (IOException e) {
respVo = new RespVo(CodeEnum.OPER_FAILED.getCode(), "文件流转换失败!");
logger.error("{}.saveOrUpdateComponentUserLibrary.{}" + respVo.getMessage());
return respVo;
}
csv工具类
/**
* 导出buffer
*
* @param data 要导出的数据
* @param clazz 数据对象类型
* @param header 表头
* @param matchColName 需要匹配的字段名
* @return
*/
public static StringBuffer formatCsvInfo(List<?> data, Class<?> clazz, String[] header, String[] matchColName) {
if (null == data || null == header || null == matchColName) {
return null;
}
StringBuffer content = new StringBuffer();
// 输出列头
for (int i = 0; i < header.length; i++) {
content.append(header[i]);
content.append(CSV_COLUMN_SEPARATOR);
}
content.append(CSV_RN);
//组装数据
for (Object obj : data) {
try {
for (int i = 0; i < matchColName.length; i++) {
String methodName = "get" + matchColName[i].substring(0, 1).toUpperCase() + matchColName[i].substring(1);