منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكلة عند ترحيل البيانات الي اكسل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اخواني الاعزاء  
استخدمت هذا الكود لنقل البيانات من داتا قرايد فيو الى اكسل  وواجهت خطا  كالتالي  

  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))
شوف اصدار الاكسل عندك لو مش 2003..