【问题标题】:Cannot implicitly convert type 'object' to 'Microsoft.Office.Interop.Excel.Worksheet'. An explicit conversion exists (are you missing a cast?)无法将类型“对象”隐式转换为“Microsoft.Office.Interop.Excel.Worksheet”。存在显式转换(您是否缺少演员表?)
【发布时间】:2013-11-10 09:51:10
【问题描述】:

我在这里打开 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

    }

【问题讨论】:

  • 你缺少演员表吗?是的。从不,从不在网络服务器上运行 Excel。

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


【解决方案1】:

您必须通过提供WorkSheet 名称来创建具有Sheets 数组的新工作表。 也请投新人WorkSheet

替换这个:

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

有关注

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

【讨论】:

    【解决方案2】:

    要解决您的第二个错误,

    //.Value2 处的错误

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多