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 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号