22

C#チュートリアルでExcelファイルを開く方法を実行しようとしました。つまり、Comタブに参照を追加してMicrosoft Office 14.0 Object Library、コードをコンパイルしようとしました。

using Excel = Microsoft.Office.Interop.Excel;
//...
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;

xlApp = new Excel.ApplicationClass();//error here
//...

コンパイル時のエラーに直面し、

Microsoft.Office.Interop.Excel.ApplicationClassタイプ用に定義されたコンストラクターはありません。

私は何が欠けていますか?

4

3 に答える 3

39

これを試して:

Excel._Application xlApp = new Excel.Application();
于 2012-12-24T02:02:28.830 に答える
3

以下を使用して開きます。

xlApp = CreateObject("Excel.Application");

CreateObjectは、COMオブジェクトへの参照を作成して返します。ドキュメントはここにあります:

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

于 2012-12-24T02:02:57.453 に答える
3

C#4.0(.NET 4)を使用している場合は、はるかに簡単な構文を使用できます

var app = new Application( );

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

varに関して:それはあなたの仕事をより簡単にしますcuz C#はどのタイプを選んで行くかを決定します。興味があれば、動的スタイルと変数 スタイルについて読むことができます。

C#4.0より前の相互運用機能は、まったく別の現象であり、C#がMicrosoftオブジェクトを処理するために使用されていた方法であることを忘れないでください。

違いをご存知のとおり、これは、Word文書と通信するためにC#4.0より前にコーディングする必要があった方法です。

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);
于 2013-08-29T05:24:20.740 に答える