package com.fdkankan.manage.service.impl; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.fdkankan.common.exception.BusinessException; import com.fdkankan.manage.constant.CameraOutTypeEnum; import com.fdkankan.manage.entity.Company; import com.fdkankan.manage.service.ICameraService; import com.fdkankan.manage.service.ICompanyService; import com.fdkankan.manage.service.IExcelService; import com.fdkankan.manage.util.ExcelUtil; import com.fdkankan.manage.vo.request.CameraInOutParam; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /** *
* TODO *
* * @author dengsixing * @since 2022/6/6 **/ @Service public class ExcelServiceImpl implements IExcelService { @Autowired ICompanyService companyService; @Autowired ICameraService cameraService; public void commonExport(HttpServletRequest request, HttpServletResponse response,String name,List> result,ExcelWriter excelWriter) throws Exception { response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); String fileName = name + ".xlsx"; fileName = URLEncoder.encode(fileName, "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName); WriteSheet writeSheet = EasyExcel.writerSheet(name).build(); excelWriter.write(result, writeSheet); } public void commonExport(HttpServletRequest request, HttpServletResponse response,String name,List> result,Class> clazz) throws Exception { response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); String fileName = name + ".xlsx"; fileName = URLEncoder.encode(fileName, "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName); ExcelWriter excelWriter = null; try { excelWriter = EasyExcel.write(response.getOutputStream(), clazz).build(); WriteSheet writeSheet = EasyExcel.writerSheet(name).build(); excelWriter.write(result, writeSheet); }catch (Exception e){ e.printStackTrace(); }finally { if(excelWriter != null){ excelWriter.finish(); } } } @Override public Integer uploadExcel(MultipartFile file, Integer type) { String originalFilename = file.getOriginalFilename(); assert originalFilename != null; String fileType=originalFilename.substring(originalFilename.lastIndexOf(".")+1); if (!fileType.equalsIgnoreCase("xlsx")) { throw new BusinessException(50001,"文件格式校验,需为xlsx文件;"); } List