无法将类型'object'隐式转换为'Microsoft.Office.Interop.Excel.Worksheet'。存在显式转换(您是否错过了演员?)

时间:2013-11-10 09:51:11

标签: c# .net excel interop excel-interop

这里我打开excel并写入excel表。我正在将我的Windows应用程序更改为asp网站并看到此错误。我添加了所有引用和库。不知道我在这里失踪了什么。

如下所述获取错误。请帮帮我。

    Excel.Application excel = new Excel.Application();
    excel.Visible = false; // to hide the processing 
    Excel.Workbook wb = excel.Workbooks.Add();
    Excel.Worksheet sh = wb.Sheets.Add(); // Error at wb


    sh.Name = "Links";

    for (int i = 1; i < list.Count; i++)
    {
        sh.Cells[i.ToString(), "A"].Value2 = list[i]; //Error at .Value2

    }

2 个答案:

答案 0 :(得分:9)

您必须通过提供Sheets名称来创建一个包含WorkSheet数组的新工作表。 并且请铸造新创建的WorkSheet

替换为:

Excel.Worksheet sh = wb.Sheets.Add();

以下

 Excel.Worksheet sh  = (Microsoft.Office.Interop.Excel.Worksheet)wb.Sheets["Sheet1"];

答案 1 :(得分:0)

要解决第二个错误,

//。Value2错误

  1. 转到项目属性。 (单击菜单中的项目,单击属性)
  2. 将目标框架设置为.NET Framework 4
  3. 这应该可以解决您的.Value2错误。