1、Easy Excel(https://easyexcel.opensource.alibaba.com/docs/current/quickstart/write )
@Data public static class CellDataWithStyle { private T val; private Integer flag = 1; CellDataWithStyle(T val) { this.val = val; } }
public static class StyleConverter implements Converter { @Override public Class supportJavaTypeKey() { return CellDataWithStyle.class; } @Override public CellDataTypeEnum supportExcelTypeKey() { return CellDataTypeEnum.STRING; } @Override public CellDataWithStyle convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { // 无样式 return new CellDataWithStyle(cellData.getNumberValue()); } @Override public CellData convertToExcelData(CellDataWithStyle value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { if (Objects.isNull(value) || Objects.isNull(value.getVal())) { return CellData.newEmptyInstance(); } return new CellData(JSONUtil.toJsonStr(value)); } }
final CellWriteHandler ddStyleWriteHandler = new AbstractCellWriteHandler() { @Override public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List<CellData> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) { if (!CellType.STRING.equals(cell.getCellTypeEnum()) || !JSONUtil.isTypeJSONObject(cell.getStringCellValue())) { return; } CellDataWithStyle cws = JSONUtil.toBean(cell.getStringCellValue(), CellDataWithStyle.class, true); cell.setCellValue(String.valueOf(cws.getVal())); if (cws.getFlag() != 1) { return; } Workbook workbook = writeSheetHolder.getSheet().getWorkbook(); CellStyle cellStyle = workbook.createCellStyle(); cellStyle.cloneStyleFrom(cell.getCellStyle()); Font font = workbook.createFont(); font.setColor(IndexedColors.RED.getIndex()); cellStyle.setFont(font); cell.setCellStyle(cellStyle); } };
@Data public static class BusinessData { @ExcelProperty(value = "id") private Long id; @ExcelProperty(value = "总金额") private BigDecimal totalAmount; @ExcelProperty(value = "金额") private CellDataWithStyle<BigDecimal> amount; } WriteSheet writeSheet = EasyExcelFactory.writerSheet() .registerConverter(new DdStyleConverter()) .registerWriteHandler(ddStyleWriteHandler) .build();
相关推荐
easyExcel自定义样式.rar
EasyExcel自定义
easyExcel生成个性化表格(自定义行高,合并,字体,去网格线),前后端分离开发下,返回错误的JSON数据给前端
自定义动态导出excel封装类
导入导出Excel,可读取任何版本Excel。 导出自定义列名、列顺序、列数据转换 自适应列宽度
枚举转换器 枚举的自定义转换器
easyExcel 2.1.7 poi 3.17 springboot 2.2.5 lombok 1.18.12
easyexcel重写了poi对07版Excel的解析,能够原本一个3M的excel用POI sax依然需要100M左右内存降低到几M,并且再大的excel不会出现内存溢出,03版依赖POI的sax模式。在上层做了模型转换的封装,让使用者更加简单方便
实现将Gridview导出到Excel进行编辑,并且用户可以自定义文件名
转换自定义字典 转换自定义字典 java -jar ConvertCustomDictionaries-1.0-SNAPSHOT-jar-with-dependencies.jar ctakes-resources-3.1.0/resources/org/apache/ctakes/dictionary/lookup/rxnorm_index out.txt
EasyExcel自定义合并列策略,在导出数据时进行绑定,初始化合并相关参数,导出过程中自动进行合并,包含测试类TestClient.java
这个是一个execl的导出工具类,拿出来既可以使用,方便。
Excel导出 实现自定义表头 实现锁定首行 实现合并单元格 实现设置字体 实现显示单元格边框 实现使用样式
阿里的EasyExcel+Mysql方式实现数据库数据导出生成excel,将excle表里面的数据保存到数据库
自定义easyExcel,基于easyExcel2.2.6版本重新编译,修改了poi包名,重新替换了引用及依赖,poi版本317,可多版本poi共存(仅测试了poi3.16)
赠送jar包:easyexcel-3.0.5.jar; 赠送原API文档:easyexcel-3.0.5-javadoc.jar; 赠送源代码:easyexcel-3.0.5-sources.jar; 赠送Maven依赖信息文件:easyexcel-3.0.5.pom; 包含翻译后的API文档:easyexcel-...
JAVA解析Excel工具easyexcel Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些...
赠送jar包:easyexcel-3.0.5.jar; 赠送原API文档:easyexcel-3.0.5-javadoc.jar; 赠送源代码:easyexcel-3.0.5-sources.jar; 赠送Maven依赖信息文件:easyexcel-3.0.5.pom; 包含翻译后的API文档:easyexcel-...
EasyExcel 导出,含动态表头导出
阿里EasyExcel导出案例