09-10-21, 06:55 PM
(09-10-21, 01:32 AM)جيولوجي مبتدئ كتب : السلام عليكم ورحمة الله وبركاته
يظهر لي هذا الخطأ عن نقل البيانات من الداتاقريدفيو إلى الإكسل
: Invalid index. (استثناء من HRESULT: 0x8002000B (DISP_E_BADINDEX))
والكود المستخدم
Imports Microsoft.Office.Interop.Excel
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.LoadFor s As Integer = 1 To 10DataGridView1.Rows.Add(s, "bader" & s)NextEnd Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click'Try
Dim exlapp As New ApplicationDim exlworkbook As WorkbookDim exlworksheet As WorksheetDim misvalue As Object = System.Reflection.Missing.Value
exlworkbook = exlapp.Workbooks.Add(misvalue)exlworksheet = exlworkbook.Sheets("Sheet1")
For i As Integer = 0 To DataGridView1.RowCount - 2For j As Integer = 0 To DataGridView1.ColumnCount - 1exlworksheet.Cells(i + 1, j + 1) = DataGridView1.Rows(1).Cells(j).Value.ToString
NextNext
sfd.Filter = "Excel files|*.xlsx|Excel 2003|*.xls"If sfd.ShowDialog = System.Windows.Forms.DialogResult.OK Thenexlworksheet.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 = Nothingexlworkbook = Nothingexlworksheet = Nothing
Process.Start(sfd.FileName)
End Sub
لكم جزيل الشكردمتم بود
ياليت حددت الخطا حصل عن اي سطر
لكن يمكن الخطا اسم Sheet1
جرب تعدله بالتالي
exlworksheet = exlworkbook.Sheets(1)
اذا استمر الخطا ححد السطر اللي وقف عنده وظهرت رساله الخطا
