我正在尝试在C#控制台应用程序中从Excel中捕获一些数据。
我遇到了以下错误:
无法将类型为“microsoft.Office.Interop.Excel.ApplicationClass”的COM对象强制转换为类型“microsoft.Office.Interop.Excel.Application”
该代码使用了“Microsoft Excel 12.0 Object Library”,并且我已经引用了“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();
}
}
}