1.保存excel指定页文件
/**
*excel工具类
*/
public class ExcelUtil {
/**
* workbook转MultipartFile
*
* @param workbook 工作簿
* @param fileName 文件名
* @return
*/
public static MultipartFile workbookToMultipartFile(Workbook workbook, String fileName) {
//Workbook转FileItem
FileItemFactory factory = new DiskFileItemFactory(16, null);
FileItem fileItem = factory.createItem("textField", "text/plain", true, fileName);
try {
OutputStream os = fileItem.getOutputStream();
workbook.write(os);
os.close();
//FileItem转MultipartFile
MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
return multipartFile;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
//通过MultipartFile获取文件名称
String fileName = mfile.getOriginalFilename();
if (fileName.indexOf("xlsx") > 0 || fileName.indexOf("xls") > 0) {
sheets = WorkbookFactory.create(mfile.getInputStream());
int numberOfSheets = sheets.getNumberOfSheets();
if (numberOfSheets > 1) {
for (int i = 0; i < numberOfSheets; i++) {
//此处可移除不需要的页
if (i > 0) {
sheets.removeSheetAt(i);
}
}
//得到处理后的MultipartFile
mfile = ExcelUtil.workbookToMultipartFile(sheets, fileName);
}
}