مشكلة في تصدير بيانات جريد فيو الى ملف الاكسل

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تعبئة الداتا جريد فيو عن طريق اختيار الكومبو بوكس فراس الغزي 6 56 منذ 4 ساعة مضت
آخر رد: فراس الغزي
  [VB.NET] اضافة بيانات الفاتورة عبدالرحمن بشري عمر 5 53 منذ 7 ساعة مضت
آخر رد: elgokr
  طلب مثال بسيط في ربط قاعدة بيانات tichouckt 7 76 منذ 7 ساعة مضت
آخر رد: elgokr
  مشكلة عند اعداد الملف الى setup mostafa hasanein 6 52 14-08-18, 07:06 PM
آخر رد: elgokr
  [VB.NET] كيف يمكن معرفة حجم قاعدة بيانات اكسسمن خلال VB.NET كريم جودي 4 74 11-08-18, 03:25 PM
آخر رد: كريم جودي
Photo عندى مشكلة واريد حلها mostafa hasanein 9 148 11-08-18, 10:05 AM
آخر رد: mostafa hasanein
Exclamation مشكلة في البرامج التي لها علاقة ل OpenFileDialog YousefOkasha 3 49 10-08-18, 07:52 PM
آخر رد: elgokr
  مشكلة في كريستال ريبورت اللورد محمود 3 55 10-08-18, 07:49 PM
آخر رد: elgokr
Exclamation مشكلة في ربط المشروع بقاعدة بيانات YousefOkasha 3 72 10-08-18, 07:10 PM
آخر رد: elgokr
  مشكلة في تعبئة TreeView ببيانات من ثلاث جداول SQL princelovelorn 3 48 10-08-18, 10:00 AM
آخر رد: elgokr

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


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