Ori*_*das 5 c# versions excel-2007 excel-2003
出于多种原因,我在笔记本电脑上安装了 MSExcel 2003 和 MSExcel 2007。我需要这两个版本来为每个版本开发特定项目(文档级项目和应用程序级项目)。现在我需要做一个打开 Excel 文件的 WinForm 项目,读取一个 CustomXMLParts 并编写一个新的 Excel 文件。我正在使用对 Microsoft.Office.Interop.Excel 的引用,它使用 ..\Visual Studio Tools for Office\PIA\ Office12 \Microsoft.Office.Interop.Excel.dll 库(用于 Excel 2007)。对于此代码:
Microsoft.Office.Interop.Excel.Application excelApplication;
excelApplication = new Microsoft.Office.Interop.Excel.ApplicationClass();
string version = excelApplication.Version;
Run Code Online (Sandbox Code Playgroud)
此时版本是“11.0”,但我需要打开Excel 2007,它必须是“12.0”,然后当程序尝试获取CustomXMLParts时,抛出异常,因为2003年不存在此方法。
如果我卸载 Excell 2003,它可以正常工作,但我需要同时使用两者(2003 和 2007)。当我重新安装 Excell 2003 时,它再次失败。我检查了 Interop.Excel 引用的“特定版本”属性,以确保它是正确的,并且我尝试修改 app.config oldVersion="12.0.0.0" 以使其与 Excel 2003 不兼容,但没有任何反应:
<assemblyIdentity name="Microsoft.Office.Interop.Excel" publicKeyToken="71E9BCE111E9429C" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="12.0.0.0"/>
Run Code Online (Sandbox Code Playgroud)
任何的想法?
我正在使用 Visual Studio 2008 和 Visual Studio Tools for Office。提前致谢。