COM-Objekt vom Typ "microsoft.Office.Interop.Excel.ApplicationClass" kann nicht in "microsoft.Office.Interop.Excel.Application" umgewandelt werden. &quot

Dies ist mein erster Versuch, einige Daten aus Excel in einer C # -Konsolenanwendung zu erfassen.

Ich erhalte die Fehlermeldung "COM-Objekt vom Typ 'microsoft.Office.Interop.Excel.ApplicationClass' kann nicht in 'microsoft.Office.Interop.Excel.Application' umgewandelt werden".

Dieser Code verwendete die 'Microsoft Excel 12.0 Object Library' und ich verwies auf Microsoft.Office.Interop.Excel.

Still, ich konnte diesen Fehler nicht überwinden - ich glaube, er hat eine eigene schnelle Lösung.

Ich habe diese Seite ein wenig durchforstet und bin auf diese Lösung gestoßen:Interop-Typ kann nicht eingebettet werden

Allerdings konnte ich nicht verstehen, so konnte ich nicht umsetzen, was als Lösung vorgeschlagen wurde.

Meine .Net-Version ist 4.5.

Jede Hilfe wird sehr geschätzt.

Danke im Voraus

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();

    }

}
}

Antworten auf die Frage(12)

Ihre Antwort auf die Frage