您好我使用npoi(Apache Poi到.NET的端口)进行多次报告
我需要像这样
制作一个Excel x1,x2,x3 ..在第15行中动态添加 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;
}
但我得到了这个
如图所示:
我做了一个测试
更改rowBottom
rowBottom = (HSSFRow)sheet.CreateRow(nrow + 1);
要
rowBottom = (HSSFRow)sheet.CreateRow(nrow + 2);
而rowBottom现在在报告中
但我需要一起
不,我做错了,还有另外一个问题,在Excel中,当连续更改这些丢失边框时
修改
我评论
//cell = (HSSFCell)row.CreateCell(ncol + 1);
//cell.SetCellValue(plan.nombre);
并使用rowBottom = (HSSFRow)sheet.CreateRow(nrow + 1);
进行调整
范围有很好的边框,但仍然缺少底行