تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
برجاء تجربة المثال المرفق لتصدير البيانات الى اكسيل
#1

.zip   Excel.zip (الحجم : 104.94 ك ب / التحميلات : 20)
 السلام عليكم

قمت بعمل مثال لتصدير البيانات الى اكسيل

 لكن يظهر خطاء
                        اريد معرفة هل الخطاء بسبب مشكلة فى الويندوز عندى او الكود محتاج تعديل
ارجو التكرم ومشاهدة الكود والتعليق

مرفق صورة الخطاء مع البرنامج
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته
جربت المثال يعمل بدون مشكلة ولا تظهر رسالة الخطا المذكورة
ولكن بيكون ملف الاكسل الناتج فارغ

وبعد البحث وجدت ان في سطر مفقود في الكود وهو  التالي

كود :
  For i As Integer = 0 To grd.RowCount - 2
            For j As Integer = 0 To grd.ColumnCount - 1
             
            Next
        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
           Next
       Next

وبعد التجربة تم انشاء الملف بنجاح وتصدير البيانات فيه بنجاح
مرفق المثال بعد إضافة السطر الناقص + الملف الناتج 

* ملحوظة أستخدم عندي أوفيس 2010   فيجوال ستوديو 2012
تم معرفة الخطأ عن طريق مقارنة الكود بالكود المذكور في الموضوع تصدير البيانات إلى إكسل

تمنياتي لك بالتوفيق والنجاح


الملفات المرفقة
.zip   WindowsApplication1.zip (الحجم : 96.18 ك ب / التحميلات : 45)
لا إله إلا الله وحده لا شريك له له الملك وله الحمد وهو على كل شئ قدير
سبحان الله وبحمده سبحان الله العظيم
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلى العظيم
رب أغفر لي 

الرد }}}
#3
السّلام عليكم و رحمة الله و بركاته
أخي الكريم ..
أوّلا أتقدّم بجزيل الشكر و الإحترام و الإمتنان للأخ الفاضل " princelovelorn " لما قدّمه و يقدّمه للإخوة الأكارم
و المف المرسل من طرفه شغّال بطريقة رائعة و ليس به أي خلل ..
فقط كملاحظة من باب الاحتياط ..
أنا أشتغل على نسخة أوفيس 2010  لغة فرنسية و جميع الأكود لم تشتغل نتيجة عبارة Sheet1 .. طبعا قمت باستبدالها إلى كلمة Feuil1 واشتغل تمام
بالمعنى .. لو كان الأمر بملف تنفيذي على جهاز غير جهازك .. فكيف سيتم تغيير واستبدال الكلمة المقصودة
و لذلك أخي الكريم و من باب زيادة الخير خيرين .. إستعمل هذا الكود في تصدير البيانات إلى الإكسل فلا يوجد به أي إلتباس نحو هذا الأمر المشار إليه ..
غيّر أخي الكريم ما يجب تغييره ..
كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Export_Dat_Excel(DGV_PATIENT)
   End Sub


كود :
   Private Sub Export_Dat_Excel(ByVal st As Object)
       If IO.Directory.Exists("C:\DOCUMENT EXCEL DE CABINET MEDICAL DE PNEUMO - ALLERGOLOGIE\Association.xlsx") = False Then
           IO.Directory.CreateDirectory("C:\DOCUMENT EXCEL DE CABINET MEDICAL DE PNEUMO - ALLERGOLOGIE")
       End If
       If ((DGV_PATIENT.Columns.Count = 0) Or (DGV_PATIENT.Rows.Count = 0)) Then
           Exit Sub
       End If
       Dim rowsTotal, colsTotal As Short
       Dim I, j, iC As Short
       System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
       Dim xlApp As New Excel.Application
       Try
           Dim excelBook As Excel.Workbook = xlApp.Workbooks.Add
           Dim excelWorksheet As Excel.Worksheet = CType(excelBook.Worksheets(1), Excel.Worksheet)
           xlApp.Visible = True
           rowsTotal = st.RowCount
           colsTotal = st.Columns.Count - 1
           With excelWorksheet
               .Cells.Select()
               .Cells.Delete()
               For iC = 0 To colsTotal
                   .Cells(1, iC + 1).Value = st.Columns(iC).HeaderText
               Next
               For I = 0 To rowsTotal - 1
                   For j = 0 To colsTotal
                       .Cells(I + 2, j + 1).value = st.Rows(I).Cells(j).Value
                   Next j
               Next I
               .Rows("1:1").Style.Font.Name = "Times New Roman"
               .Rows("1:1").Font.FontStyle = "Bold"
               .Rows("1:1").Font.Size = 12
               .Rows("1:1").Font.Color = Color.Red
               .Columns.HorizontalAlignment = 3
               .Cells(j + 1).ColumnWidth = 10
               .Cells.Columns.AutoFit()
               .Cells.Select()
               .Cells.EntireColumn.AutoFit()
               .Cells(1, 1).Select()
           End With
           excelWorksheet.SaveAs("C:\DOCUMENT EXCEL DE CABINET MEDICAL DE PNEUMO - ALLERGOLOGIE" & Now.ToString("@yyyy-MM-dd@HH-mm-ss") & ".xlsx")
           excelBook.Close()
           xlApp.Quit()
       Catch ex As Exception
           MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
       Finally
           System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
       End Try
   End Sub

تحياتي
قناتنا على اليوتوب
الرد }}}
#4
(14-02-19, 11:01 PM)عبد العزيز البسكري كتب :
السّلام عليكم و رحمة الله و بركاته
أخي الكريم ..
أوّلا أتقدّم بجزيل الشكر و الإحترام و الإمتنان للأخ الفاضل " princelovelorn " لما قدّمه و يقدّمه للإخوة الأكارم
و المف المرسل من طرفه شغّال بطريقة رائعة و ليس به أي خلل ..
فقط كملاحظة من باب الاحتياط ..
أنا أشتغل على نسخة أوفيس 2010  لغة فرنسية و جميع الأكود لم تشتغل نتيجة عبارة Sheet1 .. طبعا قمت باستبدالها إلى كلمة Feuil1 واشتغل تمام
بالمعنى .. لو كان الأمر بملف تنفيذي على جهاز غير جهازك .. فكيف سيتم تغيير واستبدال الكلمة المقصودة
و لذلك أخي الكريم و من باب زيادة الخير خيرين .. إستعمل هذا الكود في تصدير البيانات إلى الإكسل فلا يوجد به أي إلتباس نحو هذا الأمر المشار إليه ..
غيّر أخي الكريم ما يجب تغييره ..
كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Export_Dat_Excel(DGV_PATIENT)
   End Sub


كود :
   Private Sub Export_Dat_Excel(ByVal st As Object)
       If IO.Directory.Exists("C:\DOCUMENT EXCEL DE CABINET MEDICAL DE PNEUMO - ALLERGOLOGIE\Association.xlsx") = False Then
           IO.Directory.CreateDirectory("C:\DOCUMENT EXCEL DE CABINET MEDICAL DE PNEUMO - ALLERGOLOGIE")
       End If
       If ((DGV_PATIENT.Columns.Count = 0) Or (DGV_PATIENT.Rows.Count = 0)) Then
           Exit Sub
       End If
       Dim rowsTotal, colsTotal As Short
       Dim I, j, iC As Short
       System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
       Dim xlApp As New Excel.Application
       Try
           Dim excelBook As Excel.Workbook = xlApp.Workbooks.Add
           Dim excelWorksheet As Excel.Worksheet = CType(excelBook.Worksheets(1), Excel.Worksheet)
           xlApp.Visible = True
           rowsTotal = st.RowCount
           colsTotal = st.Columns.Count - 1
           With excelWorksheet
               .Cells.Select()
               .Cells.Delete()
               For iC = 0 To colsTotal
                   .Cells(1, iC + 1).Value = st.Columns(iC).HeaderText
               Next
               For I = 0 To rowsTotal - 1
                   For j = 0 To colsTotal
                       .Cells(I + 2, j + 1).value = st.Rows(I).Cells(j).Value
                   Next j
               Next I
               .Rows("1:1").Style.Font.Name = "Times New Roman"
               .Rows("1:1").Font.FontStyle = "Bold"
               .Rows("1:1").Font.Size = 12
               .Rows("1:1").Font.Color = Color.Red
               .Columns.HorizontalAlignment = 3
               .Cells(j + 1).ColumnWidth = 10
               .Cells.Columns.AutoFit()
               .Cells.Select()
               .Cells.EntireColumn.AutoFit()
               .Cells(1, 1).Select()
           End With
           excelWorksheet.SaveAs("C:\DOCUMENT EXCEL DE CABINET MEDICAL DE PNEUMO - ALLERGOLOGIE" & Now.ToString("@yyyy-MM-dd@HH-mm-ss") & ".xlsx")
           excelBook.Close()
           xlApp.Quit()
       Catch ex As Exception
           MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
       Finally
           System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
       End Try
   End Sub

تحياتي

وعليكم السلام ورحمة الله وبركاته
أستاذي وأخي الفاضل

جزاك الله خيراً وبارك فيك وفي علمك وعملك ونفع بك الأسلام والمسلمين
لا إله إلا الله وحده لا شريك له له الملك وله الحمد وهو على كل شئ قدير
سبحان الله وبحمده سبحان الله العظيم
سبحان الله والحمد لله ولا إله إلا الله والله أكبر ولا حول ولا قوة إلا بالله العلى العظيم
رب أغفر لي 

الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#5
شكرا للاخوة الافاضل

                                 [b]princelovelorn[/b]
[b]                                                             عبد العزيز البسكري[/b]

شكرا جدا لكم على ماتقدموة من علم ليستفيد به الاخرين ويجلة فى ميزان حسانتكم

  الاكواد لا تزال لاتعمل وغالبا المشكلة من النظام او  مشكلة فى الجهاز نفسة

 شكرا لكم جميعا وتنمياتي لكم بالتوفيق
الرد }}}
تم الشكر بواسطة: princelovelorn , ابراهيم ايبو
#6
اخي تاكد من وجود الاكسس الذي قكت بتصدير البيانات اليه هل هو مثبت ام لا.
المبرمج لا يفكر في المشكلة بل في الحل!!
الرد }}}
تم الشكر بواسطة: princelovelorn , ابراهيم ايبو
#7
الاكسيل غير مثبت لكن يستعمل نسخة بورتابل

شكرا على هذا الملحوظ لأن مخدش بالي خالص منها 
لكن بيتم استيراد الملف ويتم قراءتة فى البرنامج دون مشاكل
المفروض التصدير يتم بدون مشاكل 
بغض النظر الأوفيس مثبت ام لا
البرمجة مهمتها الحلول والتسهيل
وشكرا على الملاحظة هجرب  وهخبركم بالنتيجة
الرد }}}
تم الشكر بواسطة:
#8
الى الاستاذ    [b]عبد العزيز البسكري[/b]

شكرا جدا ليك فعلا الكود الخاص بيك شغال تمام بدون مشاكل

لقد قمت بتنصيب الاكسيل واشتغل الكود تمام

وجاري التعديل على الكودين
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , princelovelorn


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] عرض اكسيل علىDGVتعمل على بعض الأجهزة وبعضها لا Ragi 7 143 19-12-25, 03:21 PM
آخر رد: أبو خالد الشكري
  تصدير البيانات إلى ملف RTF مصمم هاوي 4 823 15-08-25, 04:13 PM
آخر رد: أبو خالد الشكري
  [VB.NET] ما هو أفضل موقع استضافة لقواعد البيانات MSSQL ؟ mmaalmesry 0 795 16-07-25, 10:45 PM
آخر رد: mmaalmesry
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,216 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  مشكلة في حفظ البيانات مصمم هاوي 2 1,019 30-06-25, 08:51 AM
آخر رد: مصمم هاوي
  بطء في جلب البيانات مصمم هاوي 9 997 08-05-25, 07:51 AM
آخر رد: مصمم هاوي
  تعديل كود تحديث البيانات مصمم هاوي 1 784 26-04-25, 06:07 PM
آخر رد: مصمم هاوي
Photo لايمكن تعرف على تنسيق قاعدة البيانات الدريساوي 2 697 26-04-25, 12:24 AM
آخر رد: الدريساوي
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 660 24-04-25, 12:58 PM
آخر رد: foad8920
  إغلاق الفورم مع حذف جميع البيانات الموجودة به صالح عبدالله 10 1,033 19-04-25, 08:54 PM
آخر رد: Kamil

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


يقوم بقرائة الموضوع: