我开发了一个将数据导入 Microsoft Excel 的应用程序。
我正在使用 VS2005 + .NET 2.0,并且我的机器(Office 12)上安装了 Microsoft Office 2007。
如果我在我的机器上运行编译的应用程序,它可以正常工作,但是当我将应用程序部署到其他机器时说那些使用较低版本(Office 2000)的机器,我收到错误:
无法加载文件或程序集 Microsoft.Office.Interop.Excel,版本 12.0.0.0
无论机器上安装了 Office (Excel),我如何才能使我的应用程序正确执行?
谢谢。
一些更新:我将引用的两个 DLL,即 Microsoft.Office.Interop.Excel.dll(版本 12.0.0.0)和 Office.dll(版本 12.0.0.0)放在我的 bin 文件夹中。我已将此引用的属性设置为 Copy Local = True,当我编译我的应用程序时,DLL 会复制到调试/发布文件夹中。
现在,当我尝试运行应用程序时,我已经摆脱了错误:“无法加载文件或程序集 Microsoft.Office.Interop.Excel,版本 12.0.0.0”
但是出现了另一个错误: System.AccessViolationException: Attempted to read or write protected memory。这通常表明其他内存已损坏。在 Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs(对象文件名、对象 FileFormat、对象密码、对象 WriteResPassword、对象 ReadOnlyRecommended、对象 CreateBackup、XlSaveAsAccessMode AccessMode、对象 ConflictResolution、对象 AddToMru、对象 TextCodepage、对象 TextVisualLayout、对象本地)
那么,无论安装的 Office 版本如何,我如何实际创建一个能够将数据表数据导出到 Excel 的应用程序?
谢谢。