منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[ تمّ الحل ] : تصدير بيانات الجريد كنترول إلى الإكسل - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (https://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (https://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : تقنية البرمجة Dev Express (https://vb4arb.com/vb/forumdisplay.php?fid=201)
+--- الموضوع : [ تمّ الحل ] : تصدير بيانات الجريد كنترول إلى الإكسل (/showthread.php?tid=32900)



[ تمّ الحل ] : تصدير بيانات الجريد كنترول إلى الإكسل - عبد العزيز البسكري - 10-01-20

السّلام عليكم و رحمة الله و بركاته
إخواني الأفاضل ..
جمعة طيّبة و مباركة للجميع إن شاء الله
كيف يمكن تصدير بيانات الجريد كنترول إلى الإكسل
بصراحة بحثت كثيرَا لكنّي لم أجد ضالتي
لديّ هذا الكود و الذي أستعمله عادةً في تصدير بيانات الداتا جريد فيو العاديّة و يشتغل بامتياز
حاولت التغيير فيه قليلاً ليتماشى مع الجريد كنترول الخاص بالديف إكسبرس
لكن للأسف كل محاولاتي باءت بالفشل
[صورة مرفقة: p_14700o4o01.jpg]
و الإشكالية بهذا السّطر من الكود ..
كود :
  .Cells(I + 2, j + 1).value = st.Rows(I).Cells(j).Value

كحل تحايلي مبدئي موقّت ..
قمت بإضافة داتاجريد عادية مخفيّة
و يتم التّصدير إلى الإكسل من خلالها
فالرّجاء ممّن لديهم فكرة .. المساعدة لوجه الله
أو حتّى طريقة أخرى للتّصدير
الكود المستعمل :
كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Export_GridView_Express_Excel(GridView1)
   End Sub
 

              
          Catch ex As Exception
               MessageBox.Show(ex.Message, "خطأ غير متوقّع", MessageBoxButtons.OK, MessageBoxIcon.Error)
           Finally
               System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
               xlApp = Nothing
           End Try
       End If
   End Sub

و بارك الله في الجميع
تحياتي



RE: تصدير بيانات الجريد كنترول إلى الإكسل - جميل3 - 10-01-20

أسلوب أداة DevExpress يختلف عن أسلوب أداة ميكروسوفت
PHP كود :
.Cells(21).value st.GetDataRow(I).Item(j

الأفضل أن يكون تعرف st في الروتين هو GridView وليس Object
وذلك من أجل أن تظهر لك الخصائص والتعريفات أثناء كتابة الكود لst
PHP كود :
Private Sub Export_GridView_Express_Excel(ByVal st As GridView

وبما أن الإجراء عام لا يرتبط بGridView محدد وإنما يرسل له مرجعها
قم بتغيير كلمات GridView1 الموجودة داخل الإجراء إلى st
مثل
PHP كود :
If GridView1.RowCount Nothing Then 
ليصبح هكذا
PHP كود :
If st.RowCount Nothing Then 
وهكذا

ويستحسن أن تضيف متغير اسم الملف مثل
PHP كود :
Private Sub Export_GridView_Express_Excel(ByVal st As GridViewexcelfilename As String
فيصبح مناداة الإجراء كالتالي
PHP كود :
Export_GridView_Express_Excel(GridView1"C:\وثيقة الإكسل لموكّلي و موكّلات مكتب المحاماة"
ولا تنسى أن تحذف اسم الملف داخل الإجراء وتكتب بدلا منه excelfilename مثل
PHP كود :
ElseIf Not Directory.Exists(excelfilenameThen
    Directory
.CreateDirectory(excelfilename

بالنسبة لأسماء رؤوس الأعمده
PHP كود :
.Cells(1iC 1).Value st.Columns.Item(iC).GetTextCaption 



RE: تصدير بيانات الجريد كنترول إلى الإكسل - عبد العزيز البسكري - 10-01-20

السّلام عليكم و رحمة الله و بركاته
تسلم أخي الكريم الغاالي " جميل " و سلم يمينك و دينك إن شاء الله
و الله أخي الحبيب ..حاولت تطبيق كل ما ذكرته حسب معرفتي المتواضعة
الآن .. أصبحت رسالة الخطأ هذه التي تظهر .. يتم خلق المجلد لكن بدون ملف الإكسل
[صورة مرفقة: p_14701qxxn1.jpg]
الرجاء  .. بعد إذنك أخي الغالي إلقاء نظرة على كامل الكود المستعمل
كود :
   Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
       Export_GridView_Express_Excel(GridView1, "C:\وثيقة الإكسل لموكّلي و موكّلات مكتب المحاماة")
   End Sub
   
           Catch ex As Exception
               MessageBox.Show(ex.Message, "خطأ غير متوقّع", MessageBoxButtons.OK, MessageBoxIcon.Error)
           Finally
               System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
               xlApp = Nothing
           End Try
       End If

تحياتي



RE: تصدير بيانات الجريد كنترول إلى الإكسل - جميل3 - 10-01-20

تم تعديل الكود،
PHP كود :
.Cells(21).value st.GetDataRow(I).Item(j

أعتقد الخطأ السابق بسبب أن GridView1 مرتبط بالبيانات.

بالنسبة لأسماء رؤوس الأعمده
PHP كود :
.Cells(1iC 1).Value st.Columns.Item(iC).GetTextCaption 

لا تستخدم Try إلا بعد نجاح تجربة الكود بدون أخطاء


RE: تصدير بيانات الجريد كنترول إلى الإكسل - عبد العزيز البسكري - 10-01-20

السّلام عليكم و رحمة الله و بركاته
و الله أخي الكريم " جميل " لا أعرف كيف أشكرك و كيف أرد جميلك و جميل أعمالك
لأنّ هذا المشكل سبّب لي صداعا منقطع النظير
و جاء الخلاص من عند شخصك الكريم
إلهي ينعم عليك بطيّبات الدنيا و الآخرة
و يحسن إليك مثلما أحسنت إليّ بهذا الدعم و الحل أكثر من الرائع
كلّه تمام مئة بالمئة .. زادك الله من فضله و علمه و نفع بك المتعلّمين أمثالي و زادها بموازين حسناتك إن شاء الله
تحياتي و تقييماتي



RE: [ تمّ الحل ] : تصدير بيانات الجريد كنترول إلى الإكسل - khodor1985 - 04-03-20

بتمنى الإطلاع على هذا الفيديو، كتبتوا أكواد كتير الله يعطيكم العافية، بس الموضوع بالـ Devexpress لايحتاج هذا الكم من الجهد.