poi操作excel之填充数据、删除行

5 篇文章 0 订阅

poi操作excel之填充数据、删除行

每篇一句励志:有人说,这世间有两种浪漫,一种是相濡以沫,另一种是相忘于江湖。

废话不多说,直接上代码!

// 获取到你要填充数据的sheet
XSSFSheet sheet = wb.getSheet("sheet名称");

// 定义填充数据的开始行
int rowNum = 6;

//开始循环填充数据
for (TCompanyOverhaul tCompanyOverhaul : collect) {
//复制模板行
// 第一个参数:模版行开始行
// 第二个参数:模版行结束行
// 第三个参数:复制至某行
// 第四个参数:暂没用到,没有细研究
    sheet.copyRows(5,5,rowNum,new CellCopyPolicy());
    // 获取到需要填充数据的行号
    XSSFRow row = sheet.getRow(rowNum);

// 获取到当前行的第一个单元格
    //第一列 企业
    row.getCell(0).setCellValue(tCompanyOverhaul.getCompanyName());

// 获取到当前行的第二个单元格
    //第二列 装置代码
    row.getCell(1).setCellValue(tCompanyOverhaul.getUnitCode());

// 获取到当前行的第三个单元格
    //第三列 装置名称
    row.getCell(2).setCellValue(tCompanyOverhaul.getUnitName());
}
// 因为在第5行是一行模版行,没有数据 所以到最后需要删掉他
// 第一个参数 数据开始行
// 第二个参数 数据结束行
// 第三个参数 移动几行 正数向下,负数向下
sheet.shiftRows(6,sheet.getLastRowNum(),-1);
删除行有俩种方式
  1. 删除行内容但保留行位置
    sheet.removeRow(“需要删除的行号”);
  2. 整行删除
    sheet.shiftRow(startRow,endRow,shiftCount);
    第一个参数 数据开始行
    第二个参数 数据结束行
    第三个参数 移动几行 正数向下,负数向下
复制单元格的样式还有一种

前提是第一行或者第一行的第一个单元格有样式。
对单元格样式或者内容格式没有特殊要求,只拿样式进行渲染
可以先获取到第一行的第一个单元格的样式,然后在循环每一行的每一个单元格的时候都把获取到的样式set进去。

切记

row1.createCell(0).setCellValue(“value”);
row1.createCell(0).setCellStyle(“CellStyle”);
上边俩行代码会彼此覆盖(顺序不同:样式覆盖值、值覆盖样式),先者使用create,后者就get。这样不会覆盖。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值