npoi不会在合并的单元格附近添加单元格

你好我使用npoi(Apache Poi到.NET的端口)来做很多报告

我需要这样做一个Excel 例

其中x1,x2,x3 ..在第15行 Level | Name | CT | CH | C中dynamic添加 Level | Name | CT | CH | C Level | Name | CT | CH | C重复每个项目

我有这个代码

 int nrow = 13; row = (HSSFRow)sheet.CreateRow(nrow); rowBottom = (HSSFRow)sheet.CreateRow(nrow + 1); ncol = 0; foreach (Plan plan in planesUltimos) { var i = ncol + 1; cell = (HSSFCell)rowBottom.CreateCell(i++); cell.SetCellValue("Level"); cell = (HSSFCell)rowBottom.CreateCell(i++); cell.SetCellValue("Name"); cell = (HSSFCell)rowBottom.CreateCell(i++); cell.SetCellValue("CT"); cell = (HSSFCell)rowBottom.CreateCell(i++); cell.SetCellValue("CH"); cell = (HSSFCell)rowBottom.CreateCell(i); cell.SetCellValue("C"); var cellRange= new CellRangeAddress(nrow, nrow, ncol + 1, ncol + 5); sheet.AddMergedRegion(cellRange); HSSFRegionUtil.SetBorderBottom(NPOI.SS.UserModel.BorderStyle.Medium, cellRange, sheet, wb); HSSFRegionUtil.SetBorderTop(NPOI.SS.UserModel.BorderStyle.Medium, cellRange, sheet, wb); HSSFRegionUtil.SetBorderRight(NPOI.SS.UserModel.BorderStyle.Medium, cellRange, sheet, wb); HSSFRegionUtil.SetBorderLeft(NPOI.SS.UserModel.BorderStyle.Medium, cellRange, sheet, wb); cell = (HSSFCell)row.CreateCell(ncol + 1); cell.SetCellValue(plan.nombre); ncol += 5; } 

但是我明白了

例2

如图所示:

  • 每个范围的第一个单元格不显示边框
  • 第二排底部没有显示

我做了一个testing

更改rowBottom

 rowBottom = (HSSFRow)sheet.CreateRow(nrow + 1); 

 rowBottom = (HSSFRow)sheet.CreateRow(nrow + 2); 

rowBottom现在正在报告中

例3

但是我需要在一起

不,我做错了,还有另外一个问题,在Excel中,当连续变更这些失去边界的时候

例4

编辑

我评论

 //cell = (HSSFCell)row.CreateCell(ncol + 1); //cell.SetCellValue(plan.nombre); 

rowBottom = (HSSFRow)sheet.CreateRow(nrow + 1); 例5

范围具有良好的边界,但仍然缺less底部行