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

فى التيم سبيس يتم استدعاء Microsoft.Office.Interop

تم نكتب هدا الكود

Public Shared Sub SaveGridToExcel(ByVal DGV As DataGridView) ' صب نسخ من الجريد لإكسل
Try
Dim XCELAPP As Microsoft.Office.Interop.Excel.Application = Nothing
Dim XWORKBOOK As Microsoft.Office.Interop.Excel.Workbook = Nothing
Dim XSHEET As Microsoft.Office.Interop.Excel.Worksheet = Nothing
Dim misValue As Object = System.Reflection.Missing.Value
If DGV.Rows.Count > 0 Then
Dim filename As String = ""
Dim SV As New SaveFileDialog()
SV.Filter = "Excel Files|*.xlsx|Excel 2003|*.xls"

If SV.ShowDialog = DialogResult.OK Then
If DGV.RightToLeft = RightToLeft.Yes Then
DGV.RightToLeft = False 'تغيير اتجاه الجريد من اليمين لليسار لكي لا ينسخ بالمقلوب
filename = SV.FileName
Dim multiselect As Boolean = DGV.MultiSelect
DGV.MultiSelect = True
DGV.SelectAll()
DGV.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
Clipboard.SetDataObject(DGV.GetClipboardContent())
Dim results = System.Convert.ToString(Clipboard.GetData(DataFormats.Text))
DGV.ClearSelection()
DGV.MultiSelect = multiselect
DGV.RightToLeft = RightToLeft.Yes ' ارجاع اتجاه الجريد لليمين
XCELAPP = New Excel.Application()
XWORKBOOK = XCELAPP.Workbooks.Add(misValue)
XCELAPP.DisplayAlerts = False
XCELAPP.Visible = False
XSHEET = XWORKBOOK.ActiveSheet
XSHEET.DisplayRightToLeft = True
XSHEET.PasteSpecial(RightToLeft.Yes)
XWORKBOOK.SaveAs(filename, Excel.XlFileFormat.xlOpenXMLWorkbook)
XWORKBOOK.Close(False)
XCELAPP.Quit()
Else
filename = SV.FileName
Dim multiselect As Boolean = DGV.MultiSelect
DGV.MultiSelect = True
DGV.SelectAll()
DGV.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
Clipboard.SetDataObject(DGV.GetClipboardContent())
Dim results = System.Convert.ToString(Clipboard.GetData(DataFormats.Text))
DGV.ClearSelection()
DGV.MultiSelect = multiselect
XCELAPP = New Excel.Application()
XWORKBOOK = XCELAPP.Workbooks.Add(misValue)
XCELAPP.DisplayAlerts = False
XCELAPP.Visible = False
XSHEET = XWORKBOOK.ActiveSheet
XSHEET.Paste()
XWORKBOOK.SaveAs(filename, Excel.XlFileFormat.xlOpenXMLWorkbook)
XWORKBOOK.Close(False)
XCELAPP.Quit()
End If

If MessageBox.Show("هل تريد فتح الملف ؟", "فتح ملف الأكسل", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading) = MsgBoxResult.Yes Then
Process.Start(SV.FileName)
End If
Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(XSHEET)
System.Runtime.InteropServices.Marshal.ReleaseComObject(XWORKBOOK)
System.Runtime.InteropServices.Marshal.ReleaseComObject(XCELAPP)
Catch
End Try
End If
End If

Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub

تم فى زر التصدير نكتب هدا

SaveGridToExcel(DGV)
الرد }}}
#2
لم يتعرف الفيجوال على المكتبة
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في ربط الفيجوال بيسك 2013 مع الاكسل صالح عبدالله 9 820 15-06-24, 04:05 PM
آخر رد: Taha Okla
  حماية عمود داخل ورقة الاكسل العيدروس 3 503 05-01-24, 12:21 AM
آخر رد: HALIM ELEULMA
  مشكلة في نقل قيمة الخلية الفارغة من data grid view الى ملف الاكسل Mohammed Nafa 1 524 12-01-23, 08:32 PM
آخر رد: salamandal
  استخدم هذه الطريقة فى التصدير الى اكسيل حماده ممدوح البحيرى 3 649 18-12-22, 10:20 AM
آخر رد: حماده ممدوح البحيرى
  [سؤال] كيفية تصدير اعمدة محددة من الداتا قريد الي الاكسل عبدالكريم برشدان 3 2,247 10-10-22, 09:29 AM
آخر رد: أبووسم
  'مشكلة فى ربط الاكسل 2016 بالفيجوال بيسك2019 mohamed2316 4 1,075 16-09-22, 01:41 AM
آخر رد: سعود
  التصدير من الداتا الى الاكسل العيدروس 9 5,484 24-06-22, 04:29 PM
آخر رد: atefkhalf2004
  [VB.NET] معرف الخطأ في التصدير بيانات الى ملف نوع CSV محمد بوقزاحة 0 984 01-04-22, 03:16 PM
آخر رد: محمد بوقزاحة
Question عمل برنامج يقوم بارسال رسايل واتساب من خلال الاكسل نسيم الشباطي 1 1,706 20-03-22, 01:21 PM
آخر رد: عدنان الشمري
Question [سؤال] عمل برنامج يربط في الاكسل و الوتس اب في نفس الجهاز نسيم الشباطي 0 1,773 18-03-22, 10:28 PM
آخر رد: نسيم الشباطي

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


يقوم بقرائة الموضوع: