![]() |
|
[نقاش] ارسال البيانات الى ملف Excel باستخدام VB.Net - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40) +--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41) +--- الموضوع : [نقاش] ارسال البيانات الى ملف Excel باستخدام VB.Net (/showthread.php?tid=1298) |
ارسال البيانات الى ملف Excel باستخدام VB.Net - OsamaVB - 20-12-13 الســــــــــلام عليكم .. هذا الكود يعمل على ارسال البيانات من قاعدة البيانات في البرنامج الى ملف Excel .. هذه الطريقة مفيدة جداص في بعض الاحيان للاستفادة من البيانات في صورة جداول عادية والتعديل عليها بالشكل المطلوب للطباعة أو لأي غرض آخر .. ولكن واجهتني مشكلة في تحديد البيانات التي يجب ارسالها فهذا الكود يقوم بارسال جميع البيانات من الجدول المحدد في DataBase .. طريقة تحديد جزء من البيانات لأرسالها الى Excel يحتاج الى فهم كامل لحركة الارسال عن طريق دالة For Next الموجودة بالكود والتي تعمل على نقل البيانات خلية خلية ومحاولة التعديل عليها دون فهم كامل قد يتسبب في ارسال البيانات بشكل خاطئ أو غير مرتب.. فارجو منكم وممن يستطيع مساعدتي في تحديد البيانات المراد ارسالها أن يزودني بالطريقة في أسرع وقت علما بأني أستخدم خاصية Visible لتحديد البيانات المراد عرضها في DataGridView وتلك البيانات المعروضة هي ما اريد ارساله فقط الى ملف Excel ... .......... الكود ...........
Dim xlApp As Microsoft.Office.Interop.Excel.Application Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet Dim misValue As Object = System.Reflection.Missing.Value Dim i As Integer Dim j As Integer Dim k As Integer Dim c As Integer Dim ind As Integer xlApp = New Microsoft.Office.Interop.Excel.Application xlWorkBook = xlApp.Workbooks.Add(misValue) xlWorkSheet = xlWorkBook.Sheets(1) ind = 0 For ind = 0 To 18 If TDataGridView.Columns(ind).Visible = True Then k = ind + 1 c = c + 1 For i = 0 To TDataGridView.RowCount - 1 For j = 0 To TDataGridView.ColumnCount - 1 xlWorkSheet.Cells(1, c) = TDataGridView.Columns(k - 1).HeaderText xlWorkSheet.Cells(i + 2, j + 1) = TDataGridView(j, i).Value Next Next End If Next xlWorkSheet.SaveAs("E:\بيانات الموظفين.xlsx") xlWorkBook.Close() xlApp.Quit() ReleaseObject(xlApp) ReleaseObject(xlWorkBook) ReleaseObject(xlWorkSheet) Dim res As MsgBoxResult res = MsgBox("تم حفظ البيانات .. هل تريد فتح الملف؟", MsgBoxStyle.YesNo) If (res = MsgBoxResult.Yes) Then Process.Start("E:\بيانات الموظفين.xlsx") End If |