![]() |
|
[VB.NET] كود التصدير الى الاكسل للاستفادة - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] كود التصدير الى الاكسل للاستفادة (/showthread.php?tid=44807) |
كود التصدير الى الاكسل للاستفادة - AMAZ1972AMAZ - 15-01-23 كود التصدير الى الاكسل من 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) RE:عفوا أخي لم أفهم قصدك في قولك التيم سبيس - Aisha fa - 23-01-23 لم يتعرف الفيجوال على المكتبة |