easyExcel导出参数表头
easyExcel导出参数表头
依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.1.1</version> </dependency>
导出类
@Data public class ExportExcel implements Serializable { private static final long serialVersionUID = 1L; @ExcelProperty(value = {"${cellWriterValue}", "序号"}) private Integer sort; @ExcelProperty(value = {"${cellWriterValue}", "条码号"}) private String barcode; }
参数表头处理器
public class ValueCellWriteHandler implements CellWriteHandler { private String cellWriterValue; PropertyPlaceholderHelper propertyPlaceholderHelper = new PropertyPlaceholderHelper("${","}"); public ValueCellWriteHandler(String cellValue) { this.cellWriterValue = cellValue; } @Override public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) { if (null != head) { List<String> headNameList = head.getHeadNameList(); if (CollectionUtil.isNotEmpty(headNameList)) { Properties properties = new Properties(); properties.setProperty("cellWriterValue", cellWriterValue); for (int i = 0; i < headNameList.size(); i++) { headNameList.set(i, propertyPlaceholderHelper.replacePlaceholders(headNameList.get(i), properties)); } } } } }
导出(我这里是上传到文件存储去了)
public String exportExcel(String value) { List<ExportExcel> excelList = new ArrayList<>(); ByteArrayOutputStream out = new ByteArrayOutputStream(); ExcelWriter excelWriter = null; try { excelWriter = EasyExcel.write(out, ExportExcel.class) .registerWriteHandler(new ValueCellWriteHandler(value)).build(); WriteSheet writeSheet = EasyExcel.writerSheet(0, value).build(); excelWriter.write(excelList, writeSheet); } finally { if (excelWriter != null) { excelWriter.finish(); } } File file = ossTemplate.putFile("fileName", new ByteArrayInputStream(out.toByteArray())); return file.getLink(); }
效果(“参数”便是上面exportExcel()方法传入的value)
参考自:https://blog.csdn.net/lol19950605/article/details/135776897?spm=1001.2014.3001.5502
分类:
JAVA
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)