MyExcelUtil.java 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.fdkankan.ucenter.util;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.io.FileUtil;
  4. import cn.hutool.core.util.ObjectUtil;
  5. import com.alibaba.excel.EasyExcel;
  6. import com.alibaba.excel.ExcelWriter;
  7. import com.alibaba.excel.metadata.Head;
  8. import com.alibaba.excel.write.handler.CellWriteHandler;
  9. import com.alibaba.excel.write.metadata.WriteSheet;
  10. import com.alibaba.excel.write.metadata.fill.FillConfig;
  11. import com.alibaba.excel.write.metadata.holder.WriteSheetHolder;
  12. import com.alibaba.excel.write.metadata.holder.WriteTableHolder;
  13. import com.fdkankan.fyun.face.FYunFileServiceInterface;
  14. import com.fdkankan.ucenter.entity.Invoice;
  15. import org.apache.poi.ss.usermodel.Cell;
  16. import org.apache.poi.ss.usermodel.CellStyle;
  17. import org.apache.poi.ss.usermodel.HorizontalAlignment;
  18. import org.apache.poi.ss.usermodel.VerticalAlignment;
  19. import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
  20. import org.apache.poi.xssf.usermodel.XSSFDrawing;
  21. import org.apache.poi.xssf.usermodel.XSSFSheet;
  22. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.stereotype.Component;
  25. import javax.imageio.ImageIO;
  26. import javax.servlet.http.HttpServletResponse;
  27. import java.awt.image.BufferedImage;
  28. import java.io.*;
  29. import java.net.URLEncoder;
  30. import java.util.*;
  31. public class MyExcelUtil {
  32. //根据模板导出excel
  33. public static String excelTemplteToPdf(String localPath, String templateName, Object obj) {
  34. String fileName = UUID.randomUUID().toString().replaceAll("-","") + ".xlsx";
  35. InputStream inputStream = MyExcelUtil.class.getClassLoader().getResourceAsStream("template/"+templateName+ ".xlsx");
  36. ExcelWriter excelWriter = null;
  37. String filePath = localPath+File.separator + fileName;
  38. if(!new File(filePath).getParentFile().exists()){
  39. new File(filePath).getParentFile().mkdirs();
  40. }
  41. excelWriter = EasyExcel.write(filePath)
  42. .withTemplate(inputStream)
  43. .autoCloseStream(true)
  44. .build();
  45. WriteSheet writeSheet = EasyExcel.writerSheet().build();
  46. FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
  47. if(excelWriter != null && obj != null){
  48. excelWriter.fill(obj, fillConfig, writeSheet);
  49. }
  50. assert excelWriter != null;
  51. excelWriter.finish();
  52. TestForExcel2PDF.excelToPdf(filePath,filePath.replace(".xlsx",".pdf"));
  53. return filePath.replace(".xlsx",".pdf");
  54. }
  55. public static void main(String[] args) {
  56. Invoice invoice = new Invoice();
  57. invoice.setInvoiceNumber("11111111111");
  58. MyExcelUtil.excelTemplteToPdf("D:\\abc\\1212\\111","invoiceTemplate",invoice);
  59. }
  60. }