MS Visual Web Developer 2008 Express Edで開発中に問題が発生しました。 Windows7 64ビットOS上にASP.NET C#を開発する。 Microsoft.Office.Interop.Excelは64ビットで動作しません
私はExcelドキュメントを開くしようとしているが、それは私に与えOld format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))
私はすべてのプロセッサ(いずれもCPU、x64の、x86の)にビルドを構成しなかったが、それは動作しません。私はインターネット上でその答えを探したが、それをどう扱うかを見つけることはできなかった。
私はMicrosoft Visual C#2010 Expressで開発したとき、同じシステム上で動作する同じコードです。どうして?それは後ろに働く同じdllではない?
x64システムで動作するようにCOM DLLを変更する必要がありますか?
どうすればいいですか?
私のコードは次のとおりです。
using Excel = Microsoft.Office.Interop.Excel;
xlApp = new Excel.Application();
__Log("Openning " + excelFileName);
xlWorkBook = xlApp.Workbooks.Open(excelFileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(2);
私はこれがあなたの問題を解決willl完全にわからないんだけど、あなたは、32ビットのCOM DLLを持っている場合、あなたはおそらくのx86のビルドを使用する必要がありますあなたのプロジェクトは64ビットWindows上で実行していても可能です。 – Andrew
あなたは正しいアイデアを持っていると思います。それが32ビットのExcelなら、64bit .netはそれを使って作業したくないでしょう。それをx86として構築するとうまくいくはずです。 –
既に試してみましたが、同じことが起こりましたが、この問題がVisual C#で発生しない理由とウェブ開発者であることが分かりません – Bush