منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] كيف اضيف زر طباعة الي ملف اكسيل للمشروع البسيط في المرفقات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] كيف اضيف زر طباعة الي ملف اكسيل للمشروع البسيط في المرفقات (/showthread.php?tid=33129)



كيف اضيف زر طباعة الي ملف اكسيل للمشروع البسيط في المرفقات - Moneam - 25-01-20

[attachment=23878][attachment=23879]السلام عليكم
مبتدئ في البرمجة
اشتغل علي مشروع تدريبي بسيط احتاج الي زيادة زر طباعة و كود الطباعة الي ملف اكسيل
الموضوع مهم جداً
قرات في المنتدئ عن الموضوع و لم اصل الي هدفي

نرجو المساعدة و في ميزان حسناتكم
الموضوع سيستفيد منه الكثيرون
ولكم جزيل الشكر


RE: كيف اضيف زر طباعة الي ملف اكسيل للمشروع البسيط في المرفقات - Moneam - 01-02-20

(25-01-20, 05:39 AM)Moneam كتب : السلام عليكم
مبتدئ في البرمجة
اشتغل علي مشروع تدريبي بسيط احتاج الي زيادة زر طباعة و كود الطباعة الي ملف اكسيل
الموضوع مهم جداً
قرات في المنتدئ عن الموضوع و لم اصل الي هدفي

نرجو المساعدة و في ميزان حسناتكم
الموضوع سيستفيد منه الكثيرون
ولكم جزيل الشكر


عند تجربة الكود التالي يعطي نتائج صحيحة و لكن بطئ ستغرق اكثر من 10 دقائق لتصدير بيانات 290 شخص و لو بالأسم فقط بدون بيانات تفصيلية   هل من كود سريع؟
Try


           Dim MsExcel = CreateObject("Excel.Application")


           MsExcel.Workbooks.Add()


           For i As Integer = 0 To DataGridView1.Columns.Count - 1
           
               MsExcel.Cells(i + 1).Value = DataGridView1.Columns(i).HeaderText


           Next


           For i As Integer = 0 To DataGridView1.Columns.Count - 1


               For j As Integer = 0 To DataGridView1.Rows.Count - 1
 
                   MsExcel.Columns.HorizontalAlignment = 3


                   MsExcel.Columns.Font.Name = "Times New Roman"


                   MsExcel.Rows.Item(j + 1).Font.Bold = 1


                   MsExcel.Rows.Item(j + 1).Font.size = 14
               
                   MsExcel.Cells(j + 1).ColumnWidth = 14
                           
                   MsExcel.Cells(j + 2, i + 1).Value = DataGridView1.Rows(j).Cells(i).Value


               Next


           Next


           MsExcel.Visible = True


       Catch ex As Exception


           MsgBox(ex.Message)


       End Try