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

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

استخدمة مع جريد فيو الموضوع التالي .. وهو خيار اخفاء او اظهار بعض الاعمده في جريد فيو
http://vb4arb.com/vb/showthread.php?tid=15554

لحد الحين كل شي حلو 
 ايضا معي في الفورم كود التالي .. وهو كود تصدير بيانات جريد فيو الى ملف اكسل 
PHP كود :
Try
 
           Dim MsExcel CreateObject("Excel.Application")
 
           MsExcel.Workbooks.Add()
 
           For i As Integer 0 To dgv1.Columns.Count 1
                MsExcel
.Cells(1).Value dgv1.Columns(i).HeaderText
            Next
            For i 
As Integer 0 To dgv1.Columns.Count 1
                For j 
As Integer 0 To dgv1.Rows.Count 1

                    MsExcel
.Columns.HorizontalAlignment 3
                    MsExcel
.Columns.Font.Name "Times New Roman"
 
                   MsExcel.Columns.EntireColumn.AutoFit()
 
                   MsExcel.Rows.Item(1).Font.size 13
                    MsExcel
.Cells(21).Value dgv1.Rows(j).Cells(i).Value

                Next
            Next
            MsExcel
.Visible True
        Catch ex 
As Exception
            MsgBox
(ex.Message)
 
       End Try 


المشكلة الان انا اقوم بعملية اخفاء بعض الاعمده بستخدام الموضوع وطريقة التي سبق وذكرتها في الاعلى 
ولكن لما اذهب اعمل تصدير لملف الاكسل يقوم بتصدير بيانات التي قمت ب اخفاها ايضا 

فما هو الحل ؟  ياليت اذا احد معه حل للمشكلة يفيدني ب طريقة او تعديل لكود تصدير بيانات لملف الاكسل بحيث لا يقوم بتصدير الاعمده التي اقوم باخفاها هيك احتاج تكون الطريقة 

مودتي للجميع
الرد }}}
تم الشكر بواسطة:
#2
ضع شرط التحقق من ظهور العمود بين الحلقتين For i و For j
PHP كود :
For As Integer 0 To dgv1.Columns.Count 1
    If dgv1
.Columns(i).Visible False Then Continue For
 
       For j As Integer 0 To dgv1.Rows.Count 
الرد }}}
تم الشكر بواسطة: Marwan9990 , Marwan9990 , elgokr , elgokr
#3
(10-08-18, 12:06 AM)Finish كتب : ضع شرط التحقق من ظهور العمود بين الحلقتين For i و For j
PHP كود :
For As Integer 0 To dgv1.Columns.Count 1
    If dgv1
.Columns(i).Visible False Then Continue For
 
       For j As Integer 0 To dgv1.Rows.Count 

اشكرك عزيزي على سرعة الرد 
طبقة الكود لما عملت تصدير بيانات الاعمده اختفو فعلا ولكن تبقا مشكله وحده اسم العمود لا يزال موجود 
الي انحذف بياناته ولكن الاسم موجود 
الا يمكن ايضا حذف الاسم ؟
الرد }}}
تم الشكر بواسطة: elgokr , elgokr
#4
تعديل الكود
PHP كود :
Dim MsExcel CreateObject("Excel.Application")
MsExcel.Workbooks.Add()

Dim c() = (From x In dgv1.Columns Where x.Visible).ToArray

For As Integer 0 To c.Count 1
    MsExcel
.Cells(1).Value c(i).HeaderText
Next

For As Integer 0 To c.Count 1
    For j 
As Integer 0 To dgv1.Rows.Count 1

        MsExcel
.Columns.HorizontalAlignment 3
        MsExcel
.Columns.Font.Name "Times New Roman"
 
       MsExcel.Columns.EntireColumn.AutoFit()
 
       MsExcel.Rows.Item(1).Font.size 13
        MsExcel
.Cells(21).Value dgv1.Rows(j).Cells(i).Value

    Next
Next

MsExcel
.Visible True 
الرد }}}
#5
(09-08-18, 11:54 PM)Marwan9990 كتب : اسعد الله اوقاتكم جميعا احبائي 

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

استخدمة مع جريد فيو الموضوع التالي .. وهو خيار اخفاء او اظهار بعض الاعمده في جريد فيو
http://vb4arb.com/vb/showthread.php?tid=15554

لحد الحين كل شي حلو 
 ايضا معي في الفورم كود التالي .. وهو كود تصدير بيانات جريد فيو الى ملف اكسل 
PHP كود :
Try
 
           Dim MsExcel CreateObject("Excel.Application")
 
           MsExcel.Workbooks.Add()
 
           For i As Integer 0 To dgv1.Columns.Count 1
                MsExcel
.Cells(1).Value dgv1.Columns(i).HeaderText
            Next
            For i 
As Integer 0 To dgv1.Columns.Count 1
                For j 
As Integer 0 To dgv1.Rows.Count 1

                    MsExcel
.Columns.HorizontalAlignment 3
                    MsExcel
.Columns.Font.Name "Times New Roman"
 
                   MsExcel.Columns.EntireColumn.AutoFit()
 
                   MsExcel.Rows.Item(1).Font.size 13
                    MsExcel
.Cells(21).Value dgv1.Rows(j).Cells(i).Value

                Next
            Next
            MsExcel
.Visible True
        Catch ex 
As Exception
            MsgBox
(ex.Message)
 
       End Try 


المشكلة الان انا اقوم بعملية اخفاء بعض الاعمده بستخدام الموضوع وطريقة التي سبق وذكرتها في الاعلى 
ولكن لما اذهب اعمل تصدير لملف الاكسل يقوم بتصدير بيانات التي قمت ب اخفاها ايضا 

فما هو الحل ؟  ياليت اذا احد معه حل للمشكلة يفيدني ب طريقة او تعديل لكود تصدير بيانات لملف الاكسل بحيث لا يقوم بتصدير الاعمده التي اقوم باخفاها هيك احتاج تكون الطريقة 

مودتي للجميع


حتى ان لا تشتت على نفسك

فقط تعال على كود الاستعلام
وبدلاً من استخدام
كود :
SELECT *

فقط اجعلها
كود :
SELECT id, name1, name2

حيث ان الاسماء هى عبارة عن الاعمدة التى تحتاج الى ظهورها
وبكده ستوفر عدد اسطر من اخفاء الاعمدة فى الداتا جريد
وكذلك فى التصدير

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: Marwan9990 , Marwan9990
#6
(10-08-18, 05:08 AM)elgokr كتب :
(09-08-18, 11:54 PM)Marwan9990 كتب : اسعد الله اوقاتكم جميعا احبائي 

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

استخدمة مع جريد فيو الموضوع التالي .. وهو خيار اخفاء او اظهار بعض الاعمده في جريد فيو
http://vb4arb.com/vb/showthread.php?tid=15554

لحد الحين كل شي حلو 
 ايضا معي في الفورم كود التالي .. وهو كود تصدير بيانات جريد فيو الى ملف اكسل 
PHP كود :
Try
 
           Dim MsExcel CreateObject("Excel.Application")
 
           MsExcel.Workbooks.Add()
 
           For i As Integer 0 To dgv1.Columns.Count 1
                MsExcel
.Cells(1).Value dgv1.Columns(i).HeaderText
            Next
            For i 
As Integer 0 To dgv1.Columns.Count 1
                For j 
As Integer 0 To dgv1.Rows.Count 1

                    MsExcel
.Columns.HorizontalAlignment 3
                    MsExcel
.Columns.Font.Name "Times New Roman"
 
                   MsExcel.Columns.EntireColumn.AutoFit()
 
                   MsExcel.Rows.Item(1).Font.size 13
                    MsExcel
.Cells(21).Value dgv1.Rows(j).Cells(i).Value

                Next
            Next
            MsExcel
.Visible True
        Catch ex 
As Exception
            MsgBox
(ex.Message)
 
       End Try 


المشكلة الان انا اقوم بعملية اخفاء بعض الاعمده بستخدام الموضوع وطريقة التي سبق وذكرتها في الاعلى 
ولكن لما اذهب اعمل تصدير لملف الاكسل يقوم بتصدير بيانات التي قمت ب اخفاها ايضا 

فما هو الحل ؟  ياليت اذا احد معه حل للمشكلة يفيدني ب طريقة او تعديل لكود تصدير بيانات لملف الاكسل بحيث لا يقوم بتصدير الاعمده التي اقوم باخفاها هيك احتاج تكون الطريقة 

مودتي للجميع


حتى ان لا تشتت على نفسك

فقط تعال على كود الاستعلام
وبدلاً من استخدام
كود :
SELECT *

فقط اجعلها
كود :
SELECT id, name1, name2

حيث ان الاسماء هى عبارة عن الاعمدة التى تحتاج الى ظهورها
وبكده ستوفر عدد اسطر من اخفاء الاعمدة فى الداتا جريد
وكذلك فى التصدير

تحياتى لك
وتمنياتى لك التوفيق

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



ياليت اذا فيه طريقه اخفي العمود كامل تفيدني اخي 
الطريقة التي سبق وكتبها الي اخي الفاضل (
Finish )
ترسل بيانات داتا جريد فيو فعلا بدون بيانات الحقول كذا كويس
ولكن ايضا المشكلة باقيه ترسل اسم العمود انا ابي العمود ما يظهر اسمه ايضا
اي عمود عامل له اخفاء قبل تصدير الى اكسل لا احتاج ان يعمل له تصدير

ياليت اذا تعرف طريقة تفيدني ابها لتعديل على كود الاكسل

مودتي لك
الرد }}}
تم الشكر بواسطة: elgokr
#7
جرب هذا الكود أخى 

كود :
       Try
           Dim MsExcel = CreateObject("Excel.Application")
           MsExcel.Workbooks.Add()
           Dim C As Integer = 0
           For i As Integer = 0 To dgv1.Columns.Count - 1
               If dgv1.Columns(i).Visible = True Then
                   C += 1
                   MsExcel.Cells(C).Value = dgv1.Columns(i).HeaderText
               End If
           Next
           C = 0
           For i As Integer = 0 To dgv1.Columns.Count - 1
               If dgv1.Columns(i).Visible = False Then Continue For
               C += 1
               For j As Integer = 0 To dgv1.Rows.Count - 1
                   MsExcel.Columns.HorizontalAlignment = 3
                   MsExcel.Columns.Font.Name = "Times New Roman"
                   MsExcel.Columns.EntireColumn.AutoFit()
                   MsExcel.Rows.Item(j + 1).Font.size = 13
                   MsExcel.Cells(j + 2, C).Value = dgv1.Rows(j).Cells(i).Value
               Next
           Next
           MsExcel.Visible = True
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
الرد }}}
تم الشكر بواسطة: Marwan9990 , Marwan9990 , elgokr
#8
(10-08-18, 12:46 PM)mrnooo2000 كتب : جرب هذا الكود أخى 

كود :
       Try
           Dim MsExcel = CreateObject("Excel.Application")
           MsExcel.Workbooks.Add()
           Dim C As Integer = 0
           For i As Integer = 0 To dgv1.Columns.Count - 1
               If dgv1.Columns(i).Visible = True Then
                   C += 1
                   MsExcel.Cells(C).Value = dgv1.Columns(i).HeaderText
               End If
           Next
           C = 0
           For i As Integer = 0 To dgv1.Columns.Count - 1
               If dgv1.Columns(i).Visible = False Then Continue For
               C += 1
               For j As Integer = 0 To dgv1.Rows.Count - 1
                   MsExcel.Columns.HorizontalAlignment = 3
                   MsExcel.Columns.Font.Name = "Times New Roman"
                   MsExcel.Columns.EntireColumn.AutoFit()
                   MsExcel.Rows.Item(j + 1).Font.size = 13
                   MsExcel.Cells(j + 2, C).Value = dgv1.Rows(j).Cells(i).Value
               Next
           Next
           MsExcel.Visible = True
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try

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


وشكر موصول ايضا لجميع من ساهم بمشاركة في مساعدتي لحل هذا المشكلة في هذا الموضوع 

مودتي لكم جميعا
الرد }}}
تم الشكر بواسطة: elgokr
#9
الان الصورة كملت عن ما تريده بعد شرحك 
لماذا تعرض الاعمدة كاملاً

وكلاً من Finish و mrnooo2000 
ما قصر فى تقديم المساعدة الكاملة

فبارك الله لهم فيما يتم بتقديمه من مساعدة دائماً

فتحياتى لك ولهم
وتمنياتى لكم التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: Marwan9990 , Marwan9990
#10
(10-08-18, 07:32 PM)elgokr كتب :
الان الصورة كملت عن ما تريده بعد شرحك 
لماذا تعرض الاعمدة كاملاً

وكلاً من Finish و mrnooo2000 
ما قصر فى تقديم المساعدة الكاملة

فبارك الله لهم فيما يتم بتقديمه من مساعدة دائماً

فتحياتى لك ولهم
وتمنياتى لكم التوفيق

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

ربي يوفقكم جميعا يا رب 

وللجميع تم عمل احلا تقيم تستاهلون وزود

مودتي لكم
الرد }}}
تم الشكر بواسطة: elgokr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 80 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  مشكلة في التايمر assuhimi 3 78 23-03-24, 04:51 PM
آخر رد: Taha Okla
  [سؤال] أتمنى اجابة وافية:عمل برنامج بقاعدة بيانات SQL دون حاجة تثبيت SQLSERVER dr.programming 6 598 19-03-24, 08:56 AM
آخر رد: سلامه محمد11
  استعلام select عن مجموعة بيانات Adel27213 1 172 15-03-24, 01:11 AM
آخر رد: justforit
  [سؤال] مشكلة اتصال مفتوح dell 2 150 12-03-24, 09:46 PM
آخر رد: dell
  مشكلة عند نقل البرنامج من فيجوال 2013 الى فيجوال 2017 strongriseman 5 148 12-03-24, 10:37 AM
آخر رد: strongriseman
  مشكلة فى جمع عمود فى داتا جريد فيو احمد خطاب 3 152 06-03-24, 07:49 PM
آخر رد: احمد خطاب
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 2 164 05-03-24, 08:27 PM
آخر رد: مصمم هاوي
  حذف الاسطر الفارغه من الداتا جريد فيو اليوم السابع 3 2,357 03-03-24, 12:57 AM
آخر رد: مصمم هاوي
Photo [VB.NET] مشكلة في شكل الفورم abuyazan 5 293 27-02-24, 09:38 PM
آخر رد: aljzazy

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


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