求助一下大佬

今天在工作中碰到了一个问题,用easypoi导出excel的时候,实体中BigDecimal类型的属性设置了对应的格式为saleAmount.setNumFormat("#.00");,同时设置类型为double,但是导出时excel还是显示单元格格式为文本,我想问如何设置单元格格式为数值或者日期等类型呢?
代码如下:
```
public class Main {
    public static void main(String[] args) {
        File file = new File("D:\\kake_work\\excel\\excel_test1.xlsx");
        mkdir(file);
        int size = 10;
        try (OutputStream outputStream = Files.newOutputStream(file.toPath())) {
            ExportParams params = new ExportParams();
            params.setSheetName("订单页");
            params.setType(ExcelType.XSSF);
            List<OrderReport> list = new ArrayList<>();
            OrderReport report = new OrderReport();
            report.setBaseAmountRmb(BigDecimal.valueOf(99.13));
            report.setSaleAmount(BigDecimal.valueOf(100.45));
            report.setCheckindate(new Date());
            OrderReportReq request = new OrderReportReq();
            for (int i = 0; i < size; i++) {
                list.add(report);
            }
            List<ExcelExportEntity> dynamicExportColumnSetting = getExcelExportEntities();
            Workbook sheets = ExcelExportUtil.exportBigExcel(params, dynamicExportColumnSetting, (queryParams, page) -> {
                OrderReportReq req = (OrderReportReq) queryParams;
                int listIndex = page - 1;
                if (listIndex < size) {
                    List<OrderReport> rows = list;
                    for (OrderReport row : rows) {
                        row.setAdults(1);
                    }

                    return new ArrayList<>(rows);
                }
                return null;
            }, request);
            sheets.write(outputStream);
        } catch (Exception e) {
            System.out.println(&quot;excel导出发生异常&quot;);
            e.printStackTrace();
        } finally {
            //remove(file);
        }
        System.out.println(&quot;excel导出成功!&quot;);
    }

    private static List<ExcelExportEntity> getExcelExportEntities() {
        List<ExcelExportEntity> dynamicExportColumnSetting = new ArrayList<>();
        ExcelExportEntity baseAmountRmb = new ExcelExportEntity(&quot;底价CNY&quot;, &quot;baseAmountRmb&quot;);
        baseAmountRmb.setType(BaseEntityTypeConstants.DOUBLE_TYPE);
        baseAmountRmb.setNumFormat(&quot;#.00&quot;);
        dynamicExportColumnSetting.add(baseAmountRmb);
        ExcelExportEntity saleAmount = new ExcelExportEntity(&quot;售价CNY&quot;, &quot;saleAmount&quot;);
        saleAmount.setNumFormat(&quot;#.00&quot;);
        saleAmount.setType(BaseEntityTypeConstants.DOUBLE_TYPE);
        dynamicExportColumnSetting.add(saleAmount);
        ExcelExportEntity checkInDate = new ExcelExportEntity(&quot;入住日期&quot;, &quot;checkindate&quot;);
        checkInDate.setFormat(&quot;yyyy/MM/dd&quot;);
        //checkInDate.setType(BaseEntityTypeConstants.DATE_TYPE);
        dynamicExportColumnSetting.add(checkInDate);
        return dynamicExportColumnSetting;
    }

    private static void mkdir(File file) {
        if (!file.exists()) {
            if (!file.getParentFile().exists()) {
                file.getParentFile().mkdirs();
            }
        }
    }

    private static void remove(File file) {
        if (file != null &amp;&amp; file.exists()) {
            file.delete();
        }
    }
}
```
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务