Microsoft Excelにデータをインポートするアプリケーションを開発しました。バージョン独立オフィスを使用した.NET Office interop
VS2005 + .NET 2.0を使用し、Microsoft Office 2007が自分のマシン(Office 12)にインストールされています。
私は私のマシンでそれを実行した場合にコンパイルされたアプリケーションが正常に動作しますが、私は下のバージョン(Office 2000の)を使用したものを言う他のマシンにアプリケーションをデプロイするとき、私はエラーを取得しています:
は、ファイルをロードできませんでした。またはアセンブリMicrosoft.Office.Interop.Excel、バージョン12.0.0.0
マシンにインストールされているOffice(Excel)に関係なく、アプリケーションを正しく実行するにはどうすればよいですか?
ありがとうございました。
アップデート: Microsoft.Office.Interop.Excel.dll(バージョン12.0.0.0)とOffice.dll(バージョン12.0.0.0)という2つのDLLをmy binフォルダに配置しました。この参照のプロパティをCopy Local = Trueに設定し、アプリケーションをコンパイルすると、DLLはdebug/releaseフォルダにコピーされます。私は、アプリケーションを実行しようとすると、今
は、私はすでにエラーの外に出た:
が、別のエラー「ファイルまたはアセンブリMicrosoft.Office.Interop.Excel、バージョン12.0.0.0をロードできませんでした」次のようになりました: System.AccessViolationException:保護されたメモリを読み書きしようとしました。これはしばしば、他のメモリが壊れていることを示します。オブジェクトのファイル形式、オブジェクトのパスワード、オブジェクトのWriteResPassword、オブジェクトReadOnlyRecommended、オブジェクトCreateBackup、XlSaveAsAccessMode AccessMode、Object ConflictResolution、Object AddToMru、Object TextCodepage、Object TextVisualLayout、Object Local) (Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs)
Officeのバージョンに関係なく、データテーブルのデータをExcelにエクスポートできるアプリケーションを実際に作成するにはどうすればよいですか?
ありがとうございました。
Office Wrapperを使用しようとしましたが、Office 2007でうまく動作します。Office 2000で同じことをテストしていません。 アプリケーションの作成プロセスがメモリ内にあるようです。 MSExcel.Application.CreateApplication.Quit()を呼び出したにもかかわらず、「Book1の変更を保存しますか?」というメッセージが表示されます。私はマシンをシャットダウン/ログオフしています。 これ以上のアドバイスは高く評価されます。ありがとう。 – Batuta
プロパティ "Application.Interactive = false"を設定します。次に、すべてのユーザー入力を禁止する必要があります。 この物件情報をもっと見る:http://msdn.microsoft.com/en-us/library/bb177670.aspx – TcKs