【问题标题】:How to populate values from a list to a range of cells in an Excel using Excel.Interop?如何使用 Excel.Interop 将列表中的值填充到 Excel 中的一系列单元格?
【发布时间】:2020-01-09 03:22:20
【问题描述】:

我正在尝试将模型中的列表中的值填充到 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”。

【问题讨论】:

    标签: c# excel range autofill worksheet


    【解决方案1】:

    在您的 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; 
     }        
    }
    

    【讨论】:

      【解决方案2】:

      或者只使用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; 
        }        
       }
      

      【讨论】:

        猜你喜欢
        • 2022-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-14
        • 1970-01-01
        相关资源
        最近更新 更多