我确信这很简单,但我似乎无法做到这一点。 我建立了一个用户ICollection。这个集合可以有1个或多个。 我现在想循环遍历这个集合并为每个用户分配一个变量,然后我可以使用它来填写电子表格。
目前我有这段代码:
string username = null;
foreach (var user in dailyReport)
{
username = user.UserName;
}
Cell cell= worksheet.Cells["B5"];
cell.PutValue(username);
现在显然这只是将集合的最后一个用户放入单元格B5! 我如何收集所有user.UserNames,以便我可以将它们放在B5,B6,B7等等????
答案 0 :(得分:1)
获取用户名列表:
List<string> userNames = dailyReport.Select( x=> x.UserName).ToList();
或者你可以直接在循环中完成赋值:
int index = 5;
foreach (var user in dailyReport)
{
Cell cell= worksheet.Cells["B"+ index.ToString()];
cell.PutValue(user.UserName);
index++;
}
答案 1 :(得分:0)
您需要将值放在 foreach
循环中。您要求的具体事项 - 为集合中的每个值获取不同的变量 - 是不可能的,并且不是您想要的。
string column = "B"; // or whatever your column is
int row = 1; // or whatever your starting value is
foreach (var user in dailyReport)
{
string username = user.UserName;
string cellAddress = String.Format("{0}{1}", column, row);
Cell cell = worksheet.Cells[cellAddress];
cell.PutValue(username);
row++; // make sure to increment the row, or every username goes in the same cell
}
答案 2 :(得分:0)
int i = 5;
foreach (var user in dailyReport)
{
worksheet.Cells["B" + (i++).ToString()].PutValue(user.UserName);
}