打开Excel文件.NET Framework 3.5

我写了一个VB.NET程序,打开一个Excel工作簿来放置一些值。 这是打开文件的代码:

OpenFileDialog1.FileName = "" OpenFileDialog1.Filter = "Excel files (*.xls)|*.xls" OpenFileDialog1.ShowDialog() filePath = OpenFileDialog1.FileName If System.IO.File.Exists(filePath) Then oExcel = CreateObject("Excel.Application") oExcel.Visible = True oBook = oExcel.Workbooks.Open(filePath) End If 

这工作得很好,直到我不得不在一台旧的计算机上运行它,没有.NET Framework 4.5或4.0

然后,我将Framework目标更改为3.5,运行时出现此错误:

 An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in Microsoft.VisualBasic.dll Additional information: Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD)) 

我想打开一个Excel文件的方式是不一样的3.5或4.5,所以我不知道该怎么办。

也许你可以find一些使用.Net 3.5的较早的Interop Libs?

当我针对Office 2010和2007时,我发现如果我使用2010 Interop DLL,我可以使用它们与2007和2003 Office进行交谈。 我无法使用仅在更高版本中出现的任何function。

这是从不同版本的.NET到3.5,我没有尝试更高。 不知道你是否使用了和我一样的方法,而我正在使用C#,但是不确定是否重要。 如果您使用32位的Office确保您构buildx86 .net应用程序。