C#调用NPOI创建Excel文档合并后的单元格写入数据问题一则

C#调用NPOI创建Excel文档合并后的单元格写入数据问题一则

C#调用NPOI创建Excel文档。第二行设定了3个单元格,每个单元格列宽为3(跨3列)。现在想向这三个单元格内填充数据。C#代码如下:

#region 合并单元格
  pinTypeNumForLastLoop = result; 
  sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 0, 0, (loopCount + 1) * result - 1));
  sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(1, 1, loopCount*pinTypeNumForLastLoop, (loopCount+1)*result-1));
  sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(2, 2, loopCount * pinTypeNumForLastLoop, (loopCount + 1) * result - 1));
#endregion

#region 往单元格填充值
    row1.CreateCell(loopCount * pinTypeNumForLastLoop).SetCellValue(productType);
#endregion
loopCount++;

其中,loopCount代表读到的数据个数,有多少个数据,上述代码就循环几次。pinTypeNumForLastLoop是上个单元格的列宽。

需要注意的是:NPOI给合并后的单元格填充数据,单元格的位置仍然按照原列标计算。合并单元格后列表并未改变。意思是说:假如第一行有3个单元格,合并后每个单元格跨度为3,那么第一个单元格的位置是(0,0),第二个单元格的位置是(0,3),第三个单元格的位置是(0,6)。而不是(0,0),(0,1),(0,2)。(下标从0开始)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值