Excel工作簿线程问题 [英] Excel Workbook thread problem
本文介绍了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屋!
查看全文