12-01-19, 12:55 PM
اخواني الاعزاء
استخدمت هذا الكود لنقل البيانات من داتا قرايد فيو الى اكسل وواجهت خطا كالتالي
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US")
Dim exlapp As New Application
Dim exlworkbook As Workbook
Dim exlworksheet As Worksheet
Dim misvalue As Object = System.Reflection.Missing.Value
exlworkbook = exlapp.Workbooks.Add(misvalue)
exlworksheet = exlworkbook.Sheets("Sheet1")
For colhead As Integer = 0 To grd.ColumnCount - 1
exlworksheet.Cells(1, colhead + 1) = grd.Columns(colhead).HeaderText
Next
For i As Integer = 0 To grd.RowCount - 2
For j As Integer = 0 To grd.ColumnCount - 1
exlworksheet.Cells(i + 2, j + 1) = grd.Rows(i).Cells(j).Value.ToString
Next
Next
sfd.Filter = "Excel Files|*.xlsx|Excel 2003|*.xls"
If sfd.ShowDialog = System.Windows.Forms.DialogResult.OK Then
exlworksheet.SaveAs(sfd.FileName)
End If
exlworkbook.Close()
exlapp.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlapp)
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlworkbook)
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlworksheet)
exlapp = Nothing
exlworkbook = Nothing
exlworksheet = Nothing
If MsgBox("هل تريد فتح الملف", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
Process.Start(sfd.FileName)
End If
الخطا هو
Invalid index. (استثناء من HRESULT: 0x8002000B (DISP_E_BADINDEX))
استخدمت هذا الكود لنقل البيانات من داتا قرايد فيو الى اكسل وواجهت خطا كالتالي
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US")
Dim exlapp As New Application
Dim exlworkbook As Workbook
Dim exlworksheet As Worksheet
Dim misvalue As Object = System.Reflection.Missing.Value
exlworkbook = exlapp.Workbooks.Add(misvalue)
exlworksheet = exlworkbook.Sheets("Sheet1")
For colhead As Integer = 0 To grd.ColumnCount - 1
exlworksheet.Cells(1, colhead + 1) = grd.Columns(colhead).HeaderText
Next
For i As Integer = 0 To grd.RowCount - 2
For j As Integer = 0 To grd.ColumnCount - 1
exlworksheet.Cells(i + 2, j + 1) = grd.Rows(i).Cells(j).Value.ToString
Next
Next
sfd.Filter = "Excel Files|*.xlsx|Excel 2003|*.xls"
If sfd.ShowDialog = System.Windows.Forms.DialogResult.OK Then
exlworksheet.SaveAs(sfd.FileName)
End If
exlworkbook.Close()
exlapp.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlapp)
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlworkbook)
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlworksheet)
exlapp = Nothing
exlworkbook = Nothing
exlworksheet = Nothing
If MsgBox("هل تريد فتح الملف", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
Process.Start(sfd.FileName)
End If
الخطا هو
Invalid index. (استثناء من HRESULT: 0x8002000B (DISP_E_BADINDEX))