qq_30763833 2022-11-29 20:38 采纳率: 50%
浏览 126
已结题

EasyExcel向模板追加导入数据出现多余空行

EasyExcel向Excel模板文件追加写入数据,表头固定写死,数据写入成功,但中间出现了不该出现的多余空行,哪位指点一下

img

package com.liuchang.TestAsyncAndTransactional.demo;

import com.alibaba.excel.metadata.data.WriteCellData;
import lombok.Data;

/* 奖金发放错误模板导入数据错误提示返回 */
@Data
public class BPImportErrorWriteData implements Cloneable{

    private WriteCellData<String> regionName;

    private WriteCellData<String> year;

    private WriteCellData<String> quarter;

    private WriteCellData<String> state;

    private WriteCellData<String> grantTime;

    private WriteCellData<String> money;

    private WriteCellData<String> reason;
}

package com.liuchang.TestAsyncAndTransactional.demo;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.data.RichTextStringData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.write.metadata.style.WriteFont;
import org.apache.poi.ss.usermodel.IndexedColors;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class WriteTemplateTest {
    public static void main(String[] args) {
        List<BPImportErrorWriteData> list = new ArrayList<>();

        // 第1条数据
        BPImportErrorWriteData bpImport = new BPImportErrorWriteData();
        WriteCellData<String> writeCellData = new WriteCellData<>();
        writeCellData.setType(CellDataTypeEnum.RICH_TEXT_STRING);
        RichTextStringData richTextStringData = new RichTextStringData();
        richTextStringData.setTextString("北海物流园");
        WriteFont writeFont = new WriteFont();
        writeFont.setColor(IndexedColors.RED.getIndex());
        richTextStringData.applyFont(0,4,writeFont);
        writeCellData.setRichTextStringDataValue(richTextStringData);

        bpImport.setRegionName(writeCellData);
        bpImport.setQuarter(writeCellData);
        bpImport.setYear(writeCellData);
        bpImport.setState(writeCellData);
        bpImport.setMoney(writeCellData);
        bpImport.setGrantTime(writeCellData);
        bpImport.setReason(writeCellData);
        list.add(bpImport);

        // 第2条数据
        BPImportErrorWriteData bpImport2 = new BPImportErrorWriteData();
        WriteCellData<String> writeCellData2 = new WriteCellData<>();
        writeCellData2.setType(CellDataTypeEnum.RICH_TEXT_STRING);
        RichTextStringData richTextStringData2 = new RichTextStringData();
        richTextStringData2.setTextString("炒粉物流园");
        WriteFont writeFont2 = new WriteFont();
        writeFont2.setColor(IndexedColors.RED.getIndex());
        richTextStringData2.applyFont(writeFont2);
        writeCellData2.setRichTextStringDataValue(richTextStringData2);

        bpImport2.setRegionName(writeCellData2);
        bpImport2.setQuarter(writeCellData2);
        bpImport2.setYear(writeCellData2);
        bpImport2.setState(writeCellData2);
        bpImport2.setMoney(writeCellData2);
        bpImport2.setGrantTime(writeCellData2);
        bpImport2.setReason(writeCellData2);
        list.add(bpImport2);

        String filePath = "D:" + File.separator + "季度奖金导入模板.xlsx";
        File templateFile = new File("F:\\WeChat\\WeChat File\\WeChat Files\\wxid_m5u7twd3yqil22\\FileStorage\\File\\2022-11\\PRD\\季度奖金发放管理导入模板.xlsx");
        EasyExcel.write(filePath,BPImportErrorWriteData.class).needHead(false).inMemory(true)
                .withTemplate(templateFile).sheet(0).doWrite(list);
    }
}


  • 写回答

5条回答 默认 最新

  • pzzhao 2022-11-30 00:10
    关注

    你这种情况我遇到过,就是自己无意中点过下面某一个单元格,然后excel就算做那里不是空白了。
    自己将模板文件下面的列右键删除列,就会正常。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月8日
  • 已采纳回答 12月3日
  • 修改了问题 11月29日
  • 修改了问题 11月29日
  • 展开全部

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示