Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.3.4版本使用fill填充时,填充空数据会导致其他单元格计算公式失效 #3787

Open
wolf9236 opened this issue May 9, 2024 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@wolf9236
Copy link

wolf9236 commented May 9, 2024

建议先去看文档

快速开始常见问题

触发场景描述

19249391-EB05-41F1-88B6-64939CFC7E80

触发Bug的代码

   
private void compositeFill(File file, File template) {
        try (ExcelWriter excelWriter = EasyExcel.write(file).withTemplate(template).build()) {
            WriteSheet writeSheet = EasyExcel.writerSheet().build();

            FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build();
            excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet);
            excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet);
            excelWriter.fill(new FillWrapper("data2", data()), writeSheet);
            excelWriter.fill(new FillWrapper("data2", data()), writeSheet);
            excelWriter.fill(new FillWrapper("data3", data()), writeSheet);
            excelWriter.fill(new FillWrapper("data3", data()), writeSheet);
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("date", "2019年10月9日13:28:28");
            excelWriter.fill(map, writeSheet);
            //  调整公式计算内容
            excelWriter.writeContext().writeWorkbookHolder().getWorkbook().setForceFormulaRecalculation(true);
        }
}

 private List<FillData> data() {
        List<FillData> list = new ArrayList<FillData>();
        for (int i = 0; i < 3; i++) {
            FillData fillData = new FillData();
            list.add(fillData);
            fillData.setName("张三");
            fillData.setNumber(null);
            if (i == 2) {
                fillData.setName(null);
            }
        }
        return list;
    }

提示的异常或者没有达到的效果

以下为实际导出的结果,计算结果为 #VALUE!
1E8B7F87-B1B7-4DE4-B367-AC2EF2EC66EE

以下为期待的结果,对导出的文件对应计算单元格 按退回键 之后,计算结果显示为0
8A7427B0-AF38-4D3C-A91F-6F24E5FB2E69

大家尽量把问题一次性描述清楚,然后贴上全部异常,这样方便把问题一次性解决掉。
至少大家要符合一个原则就是,能让其他人复现出这个问题,如果无法复现,肯定无法解决。

@wolf9236 wolf9236 added the bug Something isn't working label May 9, 2024
@wolf9236 wolf9236 changed the title 使用fill填充时,填充空数据会导致其他单元格计算公式失效 3.3.4版本使用fill填充时,填充空数据会导致其他单元格计算公式失效 May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants