vbOpen Excel file .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的旧电脑上运行它

然后我将框架目标改为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))

我猜在3.5和4.5版本中打开Excel文件的方式是不一样的,所以我不知道我该怎么做

也许你可以找到一些使用。net 3.5的早期互操作库?

当我瞄准Office 2010和2007时,我发现如果我使用2010年的互操作dll,我也可以使用它们与2007年和2003年的Office对话。我不能使用任何只在后来的版本中出现的功能。

这是从不同版本的。net到3.5,我没有尝试更高的版本。不确定您是否使用与我和我使用c#相同的方法,但不确定这是否重要。如果你使用的是32位Office,请确保你构建的是x86 .net应用。

最新更新