ruoyi-common/src/main/java/com/ruoyi/common/convert/ExcelBigNumberConvert.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-demo/src/main/java/com/ruoyi/demo/domain/vo/TestDemoVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-common/src/main/java/com/ruoyi/common/convert/ExcelBigNumberConvert.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,51 @@ package com.ruoyi.common.convert; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.metadata.CellData; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.property.ExcelContentProperty; import lombok.extern.slf4j.Slf4j; import java.math.BigDecimal; /** * 大æ°å¼è½¬æ¢ * Excel æ°å¼é¿åº¦ä½15ä½ å¤§äº15ä½çæ°å¼è½¬æ¢ä½å符串 * * @author Lion Li */ @Slf4j public class ExcelBigNumberConvert implements Converter<Long> { @Override public Class<Long> supportJavaTypeKey() { return Long.class; } @Override public CellDataTypeEnum supportExcelTypeKey() { return CellDataTypeEnum.STRING; } @Override public Long convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { return Convert.toLong(cellData.getData()); } @Override public CellData<Object> convertToExcelData(Long object, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { if (ObjectUtil.isNotNull(object)) { String str = Convert.toStr(object); if (str.length() > 15) { return new CellData<>(str); } } CellData<Object> cellData = new CellData<>(new BigDecimal(object)); cellData.setType(CellDataTypeEnum.NUMBER); return cellData; } } ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
@@ -3,6 +3,7 @@ import cn.hutool.core.util.IdUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.ruoyi.common.convert.ExcelBigNumberConvert; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.file.FileUtils; @@ -52,6 +53,8 @@ .autoCloseStream(false) // èªå¨éé .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 大æ°å¼èªå¨è½¬æ¢ 鲿¢å¤±ç .registerConverter(new ExcelBigNumberConvert()) .sheet(sheetName).doWrite(list); } catch (IOException e) { throw new RuntimeException("导åºExcelå¼å¸¸"); ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
@@ -72,6 +72,10 @@ @GetMapping("/export") public void export(@Validated TestDemoBo bo, HttpServletResponse response) { List<TestDemoVo> list = iTestDemoService.queryList(bo); // æµè¯éªè±idå¯¼åº // for (TestDemoVo vo : list) { // vo.setId(1234567891234567893L); // } ExcelUtil.exportExcel(list, "æµè¯å表", TestDemoVo.class, response); } ruoyi-demo/src/main/java/com/ruoyi/demo/domain/TestDemo.java
@@ -1,8 +1,6 @@ package com.ruoyi.demo.domain; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; @@ -29,7 +27,6 @@ * ä¸»é® */ @TableId(value = "id") @JsonSerialize(using = ToStringSerializer.class) private Long id; /** ruoyi-demo/src/main/java/com/ruoyi/demo/domain/vo/TestDemoVo.java
@@ -26,6 +26,7 @@ /** * ä¸»é® */ @ExcelProperty(value = "主é®") @ApiModelProperty("主é®") private Long id;