簡體   English   中英

如何使用Excel.Interop將列表中的值填充到Excel中的一系列單元格?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM