تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] كود تصدير الداتا جريد الى اكسيل
#1
استخد الكود التالى فى تصدير البيانات ويعمل معى لكن يعمل على بعض الاجهزة والاخرى لا يعمل
فلا اعرف اين المشكلة وهل لها علاقة باصدارات الاوفيس
برجاء تعديل الكود الاتى حتى يتوافق مع جميع الاجهزة وجميع اصدارات الاوفيس
كود :
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US")
        Dim exlapp As New Excel.Application


        Dim exlworkbook As Excel.Workbook
        Dim exlworksheet As Excel.Worksheet
        Dim misvalue As Object = System.Reflection.Missing.Value

        exlworkbook = exlapp.Workbooks.Add(misvalue)
        exlworksheet = exlworkbook.Sheets("Sheet1")

        For colhead As Integer = 0 To dgvSrch.ColumnCount - 1
            exlworksheet.Cells(1, colhead + 1) = dgvSrch.Columns(colhead).HeaderText
        Next

        For i As Integer = 0 To dgvSrch.RowCount - 1 '2
            For j As Integer = 0 To dgvSrch.ColumnCount - 1

                exlworksheet.Cells(i + 2, j + 1) = dgvSrch.Rows(i).Cells(j).Value.ToString
            Next
        Next

        SaveFileDialog1.Filter = "Excel Files|*.xlsx|Excel 2003|*.xls"
        If SaveFileDialog1.ShowDialog = System.Windows.Forms.DialogResult.OK Then
            exlworksheet.SaveAs(SaveFileDialog1.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(SaveFileDialog1.FileName)
        End If
    End Sub
الرد
تم الشكر بواسطة:
#2
السلام عليكم...
هذا الكود لم يتسبب معي في اي مشكلة من قبل،
تفضل:

كود :
 If datagridview1.Rows.Count = 0 Then Exit Sub
       'datagridview1 اسم الداتا جريد
       Try
           Dim MsExcel = CreateObject("Excel.Application")
           MsExcel.Workbooks.Add()


           For i As Integer = 0 To 4
               'عدد سطور الداتا جريد 5
               'بدات القيمه من  صفر
               MsExcel.Cells(i + 1).Value = datagridview1.Columns(i).HeaderText
           Next


           For j As Integer = 0 To datagridview1.Rows.Count - 1

               MsExcel.Columns.HorizontalAlignment = 3
               MsExcel.Cells(j + 1).ColumnWidth = 24

               'عدد سطور الداتا جريد 5
               'بدات القيمه من  1
               For d As Integer = 1 To 5
                   MsExcel.Cells(j + 2, d).Value = datagridview1.Rows(j).Cells(d - 1).Value
               Next
           Next

           MsExcel.Visible = True
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
 الذي يدعي ان لغته هي افضل لغة برمجة، فاعلم انه مستخدم وليس مبرمج.
الرد
تم الشكر بواسطة: asemshahen5 , egypt 2020 , ahmedramzyaish , ahmedramzyaish
#3
(14-02-20, 03:31 AM)اسامه الهرماوي كتب : السلام عليكم...
هذا الكود لم يتسبب معي في اي مشكلة من قبل،
تفضل:

كود :
 If datagridview1.Rows.Count = 0 Then Exit Sub
       'datagridview1 اسم الداتا جريد
       Try
           Dim MsExcel = CreateObject("Excel.Application")
           MsExcel.Workbooks.Add()


           For i As Integer = 0 To 4
               'عدد سطور الداتا جريد 5
               'بدات القيمه من  صفر
               MsExcel.Cells(i + 1).Value = datagridview1.Columns(i).HeaderText
           Next


           For j As Integer = 0 To datagridview1.Rows.Count - 1

               MsExcel.Columns.HorizontalAlignment = 3
               MsExcel.Cells(j + 1).ColumnWidth = 24

               'عدد سطور الداتا جريد 5
               'بدات القيمه من  1
               For d As Integer = 1 To 5
                   MsExcel.Cells(j + 2, d).Value = datagridview1.Rows(j).Cells(d - 1).Value
               Next
           Next

           MsExcel.Visible = True
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
جاري التجربه وشكرااا
الرد
تم الشكر بواسطة: asemshahen5
#4
تصدير DataGridView الى xls .

بنهاية الصفحة الكود النهائي المعدل و انشاء الله يكون المطلوب .
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر




الرد
تم الشكر بواسطة:
#5
(14-02-20, 04:17 PM)asemshahen5 كتب : تصدير DataGridView الى xls .

بنهاية الصفحة الكود النهائي المعدل و انشاء الله يكون المطلوب .

جربت الكود المرفق
يعمل ولكن يغير من خصائص البيانات المصدرة
مثلا الارقام تحول الى فورمات نص
الرد
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 2 ) ضيف كريم