تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تصدير DataGridView الى xls
#1
طريقة سريعة جدا لتصدير DataGridView الى ملف xls
PHP كود :
Imports System.IO 
PHP كود :
Public Sub ExportToExcel(ByVal DGV As DataGridViewOptional OpenDialog As Boolean FalseOptional SameColumnsWidth As Boolean True)
 
       Dim FlNm As String ""
 
       Dim sv As New SaveFileDialog
        sv
.FileName "Excel.xls"
 
       sv.Filter "|*.xls"
 
       If sv.ShowDialog <> DialogResult.OK Then Exit Sub
        FlNm 
sv.FileName
        Dim fs 
As New StreamWriter(FlNmFalse)
 
       With fs
            
.WriteLine("<?xml version=""1.0""?>")
 
           .WriteLine("<?mso-application progid=""Excel.Sheet""?>")
 
           .WriteLine("<Workbook xmlns=""urn:schemas-microsoft-com:office:spreadsheet"">")
 
           .WriteLine("  <Styles>")
 
           .WriteLine("  <Style ss:ID=""hdr"">")
 
           .WriteLine("  <Alignment ss:Horizontal=""Center""/>")
 
           .WriteLine("  <Borders>")
 
           .WriteLine("    <Border ss:Position=""Left"" ss:LineStyle=""Continuous"" ss:Weight=""1""/>")
 
           .WriteLine("    <Border ss:Position=""Right"" ss:LineStyle=""Continuous"" ss:Weight=""1""/>")
 
           .WriteLine("    <Border ss:Position=""Top"" ss:LineStyle=""Continuous"" ss:Weight=""1""/>")
 
           .WriteLine("  </Borders>")
 
           .WriteLine("  <Font ss:FontName=""Calibri"" ss:Size=""11"" ss:Bold=""1""/>"'SET FONT
            .WriteLine("  </Style>")
            .WriteLine("  <Style ss:ID=""ksg"">")
            .WriteLine("  <Alignment ss:Vertical=""Bottom""/>")
            .WriteLine("  <Borders/>")
            .WriteLine("  <Font ss:FontName=""Calibri""/>") '
SET FONT
            
.WriteLine("  </Style>")
 
           .WriteLine("  <Style ss:ID=""isi"">")
 
           .WriteLine("  <Borders>")
 
           .WriteLine("    <Border ss:Position=""Bottom"" ss:LineStyle=""Continuous"" ss:Weight=""1""/>")
 
           .WriteLine("    <Border ss:Position=""Left"" ss:LineStyle=""Continuous"" ss:Weight=""1""/>")
 
           .WriteLine("    <Border ss:Position=""Right"" ss:LineStyle=""Continuous"" ss:Weight=""1""/>")
 
           .WriteLine("    <Border ss:Position=""Top"" ss:LineStyle=""Continuous"" ss:Weight=""1""/>")
 
           .WriteLine("  </Borders>")
 
           .WriteLine("  <Font ss:FontName=""Calibri"" ss:Size=""10""/>")
 
           .WriteLine("  </Style>")
 
           .WriteLine("  </Styles>")

 
           .WriteLine("  <Worksheet ss:Name=""sheet1"">")
 
           .WriteLine("  <Table>")
 
           If SameColumnsWidth Then
                For i 
0 To DGV.ColumnCount 1
                    
.WriteLine("  <Column ss:Width=""" DGV.Columns(i).Width """/>")
 
               Next
            End 
If
 
           .WriteLine("  <Row ss:StyleID=""ksg"">")
 
           For i As Integer 0 To DGV.Columns.Count 1
                Application
.DoEvents()
 
               .WriteLine("  <Cell ss:StyleID=""hdr"">")
 
               .WriteLine("    <Data ss:Type=""String"">{0}</Data>"DGV.Columns.Item(i).HeaderText)
 
               .WriteLine("  </Cell>")
 
           Next
            
.WriteLine("  </Row>")
 
           For intRow As Integer 0 To DGV.RowCount 1
                Application
.DoEvents()
 
               .WriteLine("  <Row ss:StyleID=""ksg"" ss:utoFitHeight =""0"">")
 
               For intCol As Integer 0 To DGV.Columns.Count 1
                    Application
.DoEvents()
 
                   .WriteLine("  <Cell ss:StyleID=""isi"">")
 
                   .WriteLine("  <Data ss:Type=""String"">{0}</Data>"DGV.Item(intColintRow).Value.ToString)
 
                   .WriteLine("  </Cell>")
 
               Next
                
.WriteLine("  </Row>")
 
           Next
            
.WriteLine("  </Table>")
 
           .WriteLine("  </Worksheet>")
 
           .WriteLine("</Workbook>")
 
           .Close()
 
           If OpenDialog Then
                Dim msg1
                msg1 
MsgBox("Save complete .. Do you want open file ?"MsgBoxStyle.YesNo MsgBoxStyle.Question"Export")
 
               If msg1 vbNo Then Exit Sub
                Process
.Start(FlNm)
 
           End If
 
       End With
    End Sub 
Wink
الرد }}}}
تم الشكر بواسطة: myalsailamy , العواد الصغير
#2
جزاك الله كل خير
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طباعة الداتاقريد Print DataGridView ابو ليلى 4 719 17-08-16, 11:49 AM
آخر رد: nabeelhassan
  جمع قيم عمود معين فى datagridview الجندى 6 1,796 09-12-15, 04:40 PM
آخر رد: waled_life2002
  [كود] DataGridView Copy & Paste HASAN6.0 0 1,096 11-11-15, 11:51 AM
آخر رد: HASAN6.0
  [VB.NET] جمع العمود في datagridview في vb net أحمد النجار 0 642 26-01-15, 01:28 AM
آخر رد: أحمد النجار
  [VB.NET] تنسيق البينات بناء على المدخلات datagridview vb net فيديو أحمد النجار 0 602 24-01-15, 07:42 PM
آخر رد: أحمد النجار

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


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