![](/img/trans.png)
[英]How to get an existing range name from an Excel worksheet using c# Excel.Interop?
[英]How to populate values from a list to a range of cells in an Excel using Excel.Interop?
我正在嘗試將模型中的列表中的值填充到Excel文件中的一系列單元格中。 我的學生證列表中的值分別為= 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;
}
}
或僅用於循環
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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.