使用Interop Excel将gridview导出为ex​​cel

时间:2011-05-26 02:48:33

标签: c# asp.net excel interop

计划在我的项目上使用互操作,因为以前的方法每次在excel中打开文件时都会给我一个弹出警告,说明版本与文件格式不同。

问题是,我必须将哪个对象库版本添加到我的项目的参考文献中?根据ms网站:

http://msdn.microsoft.com/en-us/library/ms173186(v=vs.80).aspx

Depending on the version of Office installed the Excel Assembly may be called Excel 10 Object Library or Excel 11 Object Library.

这是否意味着互操作只能用于一个版本的Excel?如果我使用这个特定版本的对象库,那么我只能在Excel 2003中使用它。这是什么意思?

1 个答案:

答案 0 :(得分:1)

您引用的声明仅表示您将引用的程序集取决于您在运行程序的框中安装的Excel版本。

因此,如果您的框中包含Excel 2007,那么您应该引用Excel12库。但是,并不是说客户端应该具有相同的版本。在Excel 2007中,您可以将文件保存为xml格式(xlsx),对于excel 2007+和具有特定Compatibility Pack的旧版本的客户端,它可以读取。使用相同的库,您还可以将文件保存为旧的xls格式以保持兼容性,我认为可以打开Excel 97(某些功能可能被禁用)。