C#4.0(VS 2010 Express Edition)からExcelSheetを呼び出したい。
私が宣言するとき、
Microsoft.Office.Interop.Excel.ApplicationClass Excel =
new Microsoft.Office.Interop.Excel.ApplicationClass();
Excel.Visible = true;
次のようにエラーを受け取ります
相互運用タイプ 'Microsoft.Office.Interop.Excel.ApplicationClass'を埋め込むことはできません。代わりに適切なインターフェイスを使用してください。
魂とは何ですか?
ここ はそれを扱ったブログ投稿です。変更する必要があるようです
Microsoft.Office.Interop.Excel.ApplicationClass();
に
Microsoft.Office.Interop.Excel.Application();
私にとっての答えは、EmbedInteropタイプをfalseとしてマークすることでした。 this の質問を参照してください。
解決済み:
Excel.ApplicationClass
はExcel.Application
インターフェイスから派生し、Excel.Application
インターフェイスを使用してExcelをインスタンス化することもできます。このコードを以下のように書き直すと、まったく同じ結果が得られます。
Excel.Application xlapp = new Excel.Application();
変数をMicrosoft.Office.Interop.Excel.Application
として宣言する必要がありますが、Microsoft.Office.Interop.Excel.ApplicationClass
としてインスタンス化します。
Excel.Application = new Excel.ApplicationClass();
Excel.Application
ではなく先頭のExcel.ApplicationClass
に注意してください。
また、これは ApplicationClassのMSDNページ から直接出ていることにも注意してください。
MS Office 2016の場合、次のドラマなしを使用する必要があります
Excel.Application oExcel = new Excel.Application();