Microsoft.Office.Interop.Excel.ApplicationClass has no constructor defined

前端 未结 3 578
刺人心
刺人心 2021-01-07 18:27

I tried to follow How to open an Excel file in C# tutorial, i.e. added a reference on the Com tab to Microsoft Office 14.0 Object Library and trie

相关标签:
3条回答
  • 2021-01-07 18:52

    Use the following to open it:

    xlApp = CreateObject("Excel.Application");
    

    CreateObject creates and returns a reference to a COM object. Documentation may be found here:

    http://msdn.microsoft.com/en-us/library/7t9k08y5%28v=vs.71%29.aspx

    0 讨论(0)
  • 2021-01-07 18:53

    Try this:

    Excel._Application xlApp = new Excel.Application();
    
    0 讨论(0)
  • 2021-01-07 18:54

    If you're using C# 4.0 (.NET 4) you can go with much easier syntax

    var app = new Application( );
    
    var workbook = app.Workbooks.Open("test.xls");
    

    In regards to var: it makes you job easier cuz C# decides which type to chose and go for. If interested you can read about dynamic and var styles.

    Remember that interop prior to C# 4.0 is totally a different phenomenon and how C# used to handle Microsoft objects.

    just so you know how different, this is how you should've coded it before C# 4.0 to talk to a Word document.

    object fileName = @"WordFile.docx";
    object missing = System.Reflection.Missing.Value;
    object readOnly = true;
    var doc = wordApp.Documents.Open(ref fileName, ref missing, ref readOnly,
    ref missing, ref missing, ref missing, ref missing, ref missing,
    ref missing, ref missing, ref missing);
    
    0 讨论(0)
提交回复
热议问题