gpt4 book ai didi

c# - 无法将 'microsoft.Office.Interop.Excel.ApplicationClass' 类型的 COM 对象转换为 'microsoft.Office.Interop.Excel.Application'”

转载 作者:IT王子 更新时间:2023-10-29 04:41:10 66 4
gpt4 key购买 nike

我正在尝试从 C# 控制台应用程序中的 Excel 中捕获一些数据。

我得到了错误

Unable to cast COM object of type 'microsoft.Office.Interop.Excel.ApplicationClass' to 'microsoft.Office.Interop.Excel.Application'"

此代码使用了“Microsoft Excel 12.0 对象库”,并且我包含了对“Microsoft.Office.Interop.Excel”的引用。

我对这个网站进行了一些挖掘,发现了 Interop type cannot be embedded ,但我对它的理解还不足以实现所建议的解决方案。

我的 .NET 版本是 4.5。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;

using Excel = Microsoft.Office.Interop.Excel;

namespace deneme
{
class Program
{
static void Main(string[] args)
{

Excel.Application xlApp = new Excel.Application();
xlApp.Visible = true; // <-- excel application
xlApp.DisplayAlerts = false;

// Open the workbook.
Excel.Workbook wBook = xlApp.Workbooks.Open("C:\\FNN\\XLA\\fnnComTemplate.xlsx",
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);

// get the sheet
Excel.Worksheet wSheet = wBook.Sheets[0];
// foreach (Excel.Worksheet sheet in wBook.Sheets) { if (sheet.Name == "templateSheet") { wSheet = sheet; } }

Excel.Range rng = wSheet.get_Range("A1");

aux = wSheet.Range["F6"].Value;

Console.WriteLine("interop result:" + aux);
Console.ReadLine();

}

}
}

最佳答案

对于 Windows 10 中的 Microsoft Office 365

我在 Windows 10 上运行 Microsoft Office 365,并尝试了上述解决方案来删除注册表项,但没有成功。

我转到设置 -> 应用 以尝试修复 Office 365 套件:

Screenshot of the Microsoft Office 365 entry in Apps & features in the Windows 10+ Settings menu, with the mouse hovering over/clicking on the "Modify" button

要到达那里,您可以按照以下步骤操作:

  1. 打开开始
  2. 选择设置
  3. 选择应用
  4. 在默认页面“应用和功能”中,搜索 Microsoft 365
  5. 选择“Microsoft 365”
  6. 选择“修改”

我选择了“快速修复”选项:

Screenshot of the Office Modify wizard with the 'Quick Repair' option selected

这为我解决了问题。

关于c# - 无法将 'microsoft.Office.Interop.Excel.ApplicationClass' 类型的 COM 对象转换为 'microsoft.Office.Interop.Excel.Application'”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28066719/

66 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com