Excel工作簿线程问题 [英] Excel Workbook thread problem

查看:126
本文介绍了Excel工作簿线程问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我正在尝试从我的sql server数据库填写excel表格,我收到一条代码为HRESULT的消息:0x800401A8.Here是我的代码请帮助我。



Hi i am trying to fill an excel sheet from my sql server database and i get a message with code HRESULT: 0x800401A8.Here is my code please assist me.

Dim file As String = "C:\Techform.xlsx"


     Dim xlApp_2 As New Excel.Application
     xlApp_2.Visible = False
     xlApp_2.DisplayAlerts = False
     Dim oBook As Excel.Workbook
     oBook = xlApp_2.Workbooks.Open(file)

     Dim oSheet As Excel.Worksheet


     oSheet = oBook.Worksheets(1)
     objConnection.Open()
     adapter_view.SelectCommand = New SqlCommand()
     adapter_view.SelectCommand.Connection = objConnection
     adapter_view.SelectCommand.CommandText = "SELECT * FROM TECHNICAL_AMS_CALC_GARGANTUA "
     adapter_view.SelectCommand.CommandType = CommandType.Text
     adapter_view.Fill(dataset, "GARGANTUA_AVERAGE_Data")
     dataTable_CALC = dataset.Tables("GARGANTUA_AVERAGE_Data")
     adapter_view.Dispose()
     For h As Integer = 0 To dataTable_CALC.Rows.Count - 1
         ' lets modify a1 and a2

         SoG_AVG = dataTable_CALC.Rows(h).Item("VPM_SPEED_THROUGH_WATER_AVG")
         oSheet.Range("E3").Value = dataTable_CALC.Rows(h).Item("VPM_SPEED_THROUGH_WATER_AVG")
         oSheet.Range("F3").Value = dataTable_CALC.Rows(h).Item("VPM_SPEED_THROUGH_WATER_MAX")

         ' save

         oBook.SaveAs(file + " " + dataTable_CALC.Rows(h).Item("ACTION_DATE") + ".xlsx", CreateBackup:=False)
         oBook.Close()
         xlApp_2.Quit()
     Next

推荐答案

我发现问题的解决方案我必须关闭工作簿和应用程序在我的循环之外谢谢你mucj @Richard Deeming。
I found the solution to my problem i had to close the Workbook and the applciation outside of my loop thank you so mucj @Richard Deeming.


这篇关于Excel工作簿线程问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆