Vb.net导出到Office 2016错误

时间:2017-09-13 17:26:02

标签: vb.net ms-office office-interop

使用MSSQL后端创建了几个Vb.net(studio 2015)前端,用于数据管理。他们都使用办公室出口报告。我们目前使用Office 2010并没有问题(Windows 7)。

有些PC已经开始进入Office 2016了,这就是我突然遇到的问题。

这里只是为了展示一段代码。

Imports Excel = Microsoft.Office.Interop.Excel
Dim oExcel As Microsoft.Office.Interop.Excel.Application
oExcel = CreateObject("Excel.Application")
Dim wBook As Microsoft.Office.Interop.Excel.Workbook
Dim wSheet As Microsoft.Office.Interop.Excel.Worksheet
wBook = oExcel.Workbooks.Add()
wSheet = wBook.ActiveSheet()
With oExcel
  .SheetsInNewWorkbook = 1
  .Worksheets(1).Select()
  Dim i As Integer = 2
  .Cells(i, 1).value = "SUPERVISOR NAME"
  .Cells(i, 2).value = "TOTAL"
   For Col = 0 To Workflow_Set.Tables("Workflow").Rows.Count - 1
       .Cells(i, Col + 3).value = RNF(Workflow_Set, "Workflow", Col, "Description")
       .Cells(i, Col + 3).EntireColumn.AutoFit()
   Next
 .Visible = True

所以我尝试在我的机器上安装Office 2016。根据该代码我得到错误。我完全卸载了2010.我将项目中的所有引用从Office 14.0交换到16.0。它编译得很好。但是当我去实际运行这些电话时,我遇到的问题和以前一样。

"未处理的类型' System.Exception'发生在Microsoft.VisualBasic.dll中 附加信息:无法创建ActiveX组件。"在线#34; oExcel = CreateObject(" Excel.Application")"

好的,所以我尝试将其改为简单的&#34; oExcel = New excel.Application&#34; 现在出现COM错误。类型&#34;&#39; System.Runtime.InteropServices.COMException&#39;的未处理异常发生在mscorlib.dll中 附加信息:由于以下错误,检索CLSID为{000209FF-0000-0000-C000-000000000046}的组件的COM类工厂失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))。&#34; < / p>

我在另一个帖子中看到使用它来搜索遗留的过时信息,但该regkey ID并不会导致任何事情。 我一直在尝试isntalled不同的包。寻找旧办公室2010年的注册表内容没有运气。我不知道该怎么做才能解决这个问题。

0 个答案:

没有答案