Необработанное исключение типа 'System.во время выполнения.interopservices.исключение comexception произошел в microsoft.visualbasic.dll дополнительная информация: исключение из HRESULT: 0x800a03ec. Ошибка
Привет,
Я получаю ошибку "необработанное исключение типа System. Runtime.InteropServices.COMException произошло в microsoft.visualbasic.dll дополнительная информация: исключение из HRESULT: 0x800A03EC. " при присвоении значения ячейке рабочего листа excel. Использование VB.net 2005 и SQL server 2008.
Ошибка, возникающая в следующем коде:
worksheet1.Ячейки (1, tmp) = dc. ColumnNam
Полный код ниже для создания файла EXCEL:
Private Sub btnExport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExport.Click Dim APP As New Microsoft.Office.Interop.Excel.Application() Dim worksheet1 As Microsoft.Office.Interop.Excel.Worksheet Dim workbook As Microsoft.Office.Interop.Excel.Workbook Dim oldCI As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US") APP.Workbooks.Add() Dim misValue As Object = System.Reflection.Missing.Value workbook = APP.Workbooks.Add() worksheet1 = workbook.Sheets("sheet1") System.Threading.Thread.CurrentThread.CurrentCulture = oldCI ''''''' ---------------------Fetching data from database n exporting to excel --------------------------- Dim dt As New System.Data.DataTable() Dim sqlcon As New SqlConnection(BusinessObject.ConnectionString) If sqlcon.State = ConnectionState.Closed Then sqlcon.Open() Dim sqlcmd As New SqlCommand() sqlcmd.Connection = sqlcon sqlcmd.CommandText = "select CLBC.*,PO.PONumber,OC.OCNumber,PI.PINumber,ChkLstNo,ChkLst.Status from ChklstBarCodeDetail CLBC INNER JOIN PO ON CLBC.POId=PO.POId INNER JOIN ChkLst ON ChkLst.ChkLstId=CLBC.ChkLstId left JOIN OC ON CLBC.OCId=OC.OCId LEFT OUTER JOIN PI ON PI.PIId=CLBC.PIID where CLBC.ChkLstId='" & SelChkLst.Id & "' order by dbo.DOCId(ChkLstBarCodeDetailId)" Dim adpt As New SqlDataAdapter(sqlcmd) adpt.Fill(dt) Dim columnsCount As Integer = 0 If dt.Rows.Count > 0 Then columnsCount = dt.Columns.Count End If Dim tmp As Integer = 0 Dim dc As DataColumn For Each dc In dt.Columns 'Console.Write("{0,15}", dc.ColumnName) Dim s As String = dc.ColumnName.ToString() tmp = tmp + 1 'worksheet.Cells(1, tmp).Value = dc.ColumnName.ToString() worksheet1.Cells(1, tmp) = dc.ColumnName tmp = tmp + 1 Next 'Export Each Row Start Dim i As Integer For i = 0 To dt.Rows.Count - 1 Dim columnIndex As Integer = 0 Do Until columnIndex = columnsCount worksheet1.Cells(i + 2, columnIndex + 1).Value = dt.Rows(i)(columnIndex).ToString() columnIndex += 1 Loop Next 'Export Each Row End '''' saving excel file Dim saveFileDialog1 As New SaveFileDialog() saveFileDialog1.Filter = "Excel File|*.xlsx" saveFileDialog1.Title = "Save In" saveFileDialog1.ShowDialog() Dim filename As String = saveFileDialog1.FileName If Len(filename) > 0 Then workbook.SaveAs(filename) End If APP.Quit() releaseObject(APP) releaseObject(workbook) releaseObject(worksheet1) End Su
Любая помощь ценится...!
Спасибо...!
Что я уже пробовал:
Я ссылался на многие решения с форумов, но не получал правильного решения.