要求要达到如下效果:
,
当查询数据<6时,左第一列只占一行,数据写入相应的单元格中,不满6,写空格,
当数据>6时,左第一列合并相应行数,数据先横向写满6格后转入下行,写入相应的单元格中,此问题应该主要涉及到逻辑与算法的问题,可惜我有点晕了,请大大们指点。
初步思路:
if (PList.Count > 0)
{
sheet.CreateRow(0).CreateCell(0).SetCellValue("男子");
for (int j = 0; j < PList.Count; j++)
{
if (j < 7)
{
sheet.GetRow(3).CreateCell(j + 1).SetCellValue(manPList[j].PlayerName);
}
else
{
sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(3, 3+j/6, 0, 0));
sheet.CreateRow(j/6).CreateCell(j%6 + 1).SetCellValue(manPList[j].PlayerName);
// 这里第一个单元格是CreateRow(j/6).,后面应是GetRow,另CreateRow(j/6).,j/6感觉不对
}
}
求指点。