基于现有工具类可以实现导入导出功能:ExcelUtil<SsupEnterpriseEx> util = new ExcelUtil<SsupEnterpriseEx>(SsupEnterpriseEx.class);
导入功能:
1.下载模板
2.导入模板:excel转list
1.参数:@RequestPart("file")MultipartFile file
2.输入流 转 List: util.importExcel(file.getInputStream())
3.保存List到数据库
导出功能:
1.导出文件:list转excel
1.参数:HttpServletResponse response
2.从数据库中查出要导出的List数据
3.util.exportExcel(response, list, "企业或市场主体数据");
1.设置头部信息:response.setHeader("Content-disposition", "attachment;filename=" + fileName);// 设置头部信息
response.setContentType()
response.setCharacterEncoding("utf-8");
2.编码文件名:String fileName = util.encodingFilename("enterprise");
3.数据List写入excel:writeSheet();--构造一个excel工作薄
3.1 Excel中的工作簿、工作表、行、单元格中的关系:
一个Excel文件对应于一个workbook(HSSFWorkbook),
一个workbook可以有多个sheet(HSSFSheet)组成, 一个sheet是由多个row(HSSFRow)组成,
一个row是由多个cell(HSSFCell)组成
3.2 网上示例代码:https://blog.csdn.net/vbirdbest/article/details/72870714/
String filePath = desktop + "/template.xls";
File file = new File(filePath);
OutputStream outputStream = new FileOutputStream(file);
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Sheet1");
HSSFRow row = sheet.createRow(0);
row.createCell(0).setCellValue("id");
4.将工作薄写入输出流,返回fileName,完成下载:wb.write(response.getOutputStream());