تقييم الموضوع :
  • 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 .

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] جملة اتصال بملف اكسيل ٢٠٠٣ بكلمة مرور Mr.H 3 64 منذ 6 ساعة مضت
آخر رد: Amir_Alzubidy
  مشكلة فى جمع عمود فى داتا جريد فيو احمد خطاب 3 152 06-03-24, 07:49 PM
آخر رد: احمد خطاب
  حذف الاسطر الفارغه من الداتا جريد فيو اليوم السابع 3 2,357 03-03-24, 12:57 AM
آخر رد: مصمم هاوي
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 223 25-02-24, 11:26 PM
آخر رد: heem1986
  كيفية تنفيذ امر عند التعليم على checkbox بالداتا جريد فيو heem1986 2 158 21-02-24, 01:37 AM
آخر رد: heem1986
  [VB.NET] مشكلة التاريخ في الداتا قريد فيو مبرمج صغير 1 6 399 24-01-24, 10:12 PM
آخر رد: annagui
  هل الداتا قراد فيو تسمح بتعدد الاسطر داخل الخلية عند جلب بيانات نصية طويله من قاعدة ب khalidalwdi 3 461 10-11-23, 11:08 AM
آخر رد: khalidalwdi
  ممكن كود ترقيم تلقائي في الداتا غريد فيو المبرمج البسيط 16 10,577 08-11-23, 01:44 AM
آخر رد: الحزين اليماني
  انتقال المؤشر بين الخلايا في نفس الصف في الداتا جريد فيو fares_mohammed 2 462 03-11-23, 09:57 PM
آخر رد: fares_mohammed
  يوجد مشكلة عند تحميل البيانات فى كمبوبوكس داخل داتا جريد new_programer 2 473 17-10-23, 06:51 PM
آخر رد: new_programer

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


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