C# 使用已安装的Excel选择正确的选项
我有一个场景,客户机可以安装Excel 2007或Excel 2010,我需要能够导出和导入他们创建的Excel文件,OLEDB不是一个选项,所以我打算使用互操作服务 问题是,当我为2010年编写代码时,它在2007年不起作用,反之亦然。我如何才能做到这一点 我是否可以导入这两个引用并根据安装的版本定义ExcelC# 使用已安装的Excel选择正确的选项,c#,import,export-to-excel,using,excel-2010,C#,Import,Export To Excel,Using,Excel 2010,我有一个场景,客户机可以安装Excel 2007或Excel 2010,我需要能够导出和导入他们创建的Excel文件,OLEDB不是一个选项,所以我打算使用互操作服务 问题是,当我为2010年编写代码时,它在2007年不起作用,反之亦然。我如何才能做到这一点 我是否可以导入这两个引用并根据安装的版本定义Excel using Excel = Microsoft.Office.Interop.Excel; Excel.Application xlApp; Excel.Wor
using Excel = Microsoft.Office.Interop.Excel;
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range xlRange;
object misValue = System.Reflection.Missing.Value;
pbarExcelGenerate.Visible = true;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
xlWorkSheet.Name = "Material Results";
pbarExcelGenerate.Value = 5;
xlRange = xlWorkSheet.get_Range("a1", "b1");
xlRange.Merge(false);
xlRange.Value = "Material Name";
xlRange.HorizontalAlignment = 3;
xlRange.Font.Bold = true;
xlRange.Font.Size = 16;
不,你不能。。。您可以将较低版本用于这两个。。。或者使用一个完全不需要安装Excel的第三方库(免费或商业),或者您可以使用原始COM访问Excel,这会让您感到不舒服,但允许这样做 编辑-根据评论(感谢@Rup):
您可以下载VSTO的较旧版本,该版本应随2007年的Interop库一起提供我可以从何处获得较低版本,而无需安装2007?不,不是真的。。。您至少需要一台具有该版本的机器,尽管我不确定,我隐约记得,当前的VS提供了两个版本…您可以下载,其中应包括正确的互操作库。安装VSTO后,互操作DLL应可用,并且您可以在项目中引用它…安装并添加引用Microsoft visual studio 2008 tools for office project clientexcel 2007 9.0的软件包,但现在怎么办?我需要用什么?