如何使用 Excel.Interop 将列表中的值填充到 Excel 中的一系列单元格?
How to populate values from a list to a range of cells in an Excel using Excel.Interop?
我正在尝试将模型中列表中的值填充到 Excel 文件中的一系列单元格中。我的学生 ID 列表中的值是 = 11、22、33、44,我希望它们分别位于单元格 C8 到 C11 上。
我尝试将它们分配为单元格范围 ["C8:C11"] 的值并自动填充它们。
private void IdFiller(IdGroupModel id, Worksheet sheet)
foreach (var studentId in id.idList)
{
sheet.Range["B8"].Value = 1;
sheet.Range["B8"].AutoFill(sheet.Range["B8:B19"], XlAutoFillType.xlFillSeries);
sheet.Range["C8"].Value2 = studentId.name;
//sheet.Range["C8"].AutoFill(sheet.Range["C8","C19"], XlAutoFillType.xlFillValues);
sheet.Range["D8"].Value = studentId.age;
sheet.Range["D8"].AutoFill(sheet.Range["D8:D19"], XlAutoFillType.xlFillValues);
}
}
但我在所有单元格中得到的只是值“44”。
在您的 ForEach 中尝试添加一个索引计数器。
private void IdFiller(IdGroupModel id, Worksheet sheet) {
int i =7;
foreach (var studentId in id.idList)
{
i+=1;
sheet.Range["B" + i.ToString()].Value = 1;
sheet.Range["C" + i.ToString()].Value2 = studentId.name;
sheet.Range["D" + i.ToString()].Value = studentId.age;
}
}
或者只使用for循环
private void IdFiller(IdGroupModel id, Worksheet sheet) {
for (int i = 1; i < id.idList.Length(); i++)
{
sheet.Range["B" + i.ToString()].Value = 1;
sheet.Range["C" + i.ToString()].Value2 = id.idList[i-1].name;
sheet.Range["D" + i.ToString()].Value = id.idList[i-1].age;
}
}
我正在尝试将模型中列表中的值填充到 Excel 文件中的一系列单元格中。我的学生 ID 列表中的值是 = 11、22、33、44,我希望它们分别位于单元格 C8 到 C11 上。
我尝试将它们分配为单元格范围 ["C8:C11"] 的值并自动填充它们。
private void IdFiller(IdGroupModel id, Worksheet sheet)
foreach (var studentId in id.idList)
{
sheet.Range["B8"].Value = 1;
sheet.Range["B8"].AutoFill(sheet.Range["B8:B19"], XlAutoFillType.xlFillSeries);
sheet.Range["C8"].Value2 = studentId.name;
//sheet.Range["C8"].AutoFill(sheet.Range["C8","C19"], XlAutoFillType.xlFillValues);
sheet.Range["D8"].Value = studentId.age;
sheet.Range["D8"].AutoFill(sheet.Range["D8:D19"], XlAutoFillType.xlFillValues);
}
}
但我在所有单元格中得到的只是值“44”。
在您的 ForEach 中尝试添加一个索引计数器。
private void IdFiller(IdGroupModel id, Worksheet sheet) {
int i =7;
foreach (var studentId in id.idList)
{
i+=1;
sheet.Range["B" + i.ToString()].Value = 1;
sheet.Range["C" + i.ToString()].Value2 = studentId.name;
sheet.Range["D" + i.ToString()].Value = studentId.age;
}
}
或者只使用for循环
private void IdFiller(IdGroupModel id, Worksheet sheet) {
for (int i = 1; i < id.idList.Length(); i++)
{
sheet.Range["B" + i.ToString()].Value = 1;
sheet.Range["C" + i.ToString()].Value2 = id.idList[i-1].name;
sheet.Range["D" + i.ToString()].Value = id.idList[i-1].age;
}
}