تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[نقاش] ارسال البيانات الى ملف Excel باستخدام VB.Net
#1
الســــــــــلام عليكم ..

هذا الكود يعمل على ارسال البيانات من قاعدة البيانات في البرنامج الى ملف 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
*************************

أنا الذي نظر الأعمى إلى أدبي ...
وأسمعت كلماتي من به صممُ

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] عدم إظهار الصور مع النص فى Listview من قاعدة البيانات alims 1 389 08-04-21, 11:46 PM
آخر رد: alims
  ملى الصفحة تلقائياً او ربط مستعرض الانترنت بقاعدة البيانات علي عدنان 2 2,559 02-02-21, 01:31 AM
آخر رد: فارس زيدان
  كود عدم تكرار البيانات بالداتا جريد فيو ِAbou Sama 4 4,989 04-12-20, 10:59 PM
آخر رد: Osama_NY
  عمل تحديث لعرض البيانات المضافة جديداً aldery 0 683 23-07-20, 02:36 AM
آخر رد: aldery
  [سؤال] نقل البيانات من جدول إلى أخر SQL Server 2008 semsemalex 7 11,690 19-04-20, 12:00 AM
آخر رد: essamprog2020
  [VB.NET] مشكله عند الحفظ على قاعدة بيانات باستخدام Data Source وقاعدة بيانات اكسس2007 coderarab 9 3,868 06-04-20, 12:12 AM
آخر رد: wadyreem
  معرفة عدد الأسماء في قاعدة البيانات sql server aldery 6 1,349 24-03-20, 04:21 AM
آخر رد: morkoskhalaf
  اريد فكرة الطرح والجمع من داخل قاعدة البيانات مراد بورجي 2 1,319 28-12-19, 07:41 PM
آخر رد: مراد بورجي
  كيف الغاء التكرار في البيانات بسام محمدغانم 0 847 27-12-19, 11:06 PM
آخر رد: بسام محمدغانم
  [VB.NET] حفظ البيانات دفعة واحدة الداتا جريد فيو mahmoud.3com 2 1,865 19-12-19, 11:23 PM
آخر رد: بسام محمدغانم

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


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