【发布时间】:2015-03-19 22:37:55
【问题描述】:
这是我第一次尝试在一个 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();
}
}
}
【问题讨论】:
标签: c# excel com-interop