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 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 qgcomp混合物线性模型分析的代码出现错误:Model aliasing occurred
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答
  • ¥20 在本地部署CHATRWKV时遇到了AttributeError: 'str' object has no attribute 'requires_grad'