منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تصدير DataGridView الى xls
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
طريقة سريعة جدا لتصدير 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
جزاك الله كل خير
جزاك الله خيرا
السلام عليكم .. هل من طريقة لتصدير DataGridView الى Ms_access  ويا ريت لو في بيئة Visual 2012.net    مع التقدير
الكود لا يعمل مع اوفيس 2016
حدث خطاء
                    .WriteLine("  <Data ss:Type=""String"">{0}</Data>"DGV.Item(intColintRow).Value.ToString)
اذا كانت خاصية AllowUserToAddRows =  True

عدل في الكود بتاع الفور بدل :

PHP كود :
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 

الى 

PHP كود :
For intRow As Integer 0 To DGV.RowCount 
اما اذا كانت AllowUserToAddRows=False اتركها كما هي .
الف مليون شكر جزاكم الله خيرا
بعد اذن صاحب الموضوع لقد عدلت الكود لتلافي هذا الخطأ :
كيف يمكن التحكم في تنسيق عمود
كيف يكون تاريخ
ايضا كيفية اخفاء عمود
شكرا
الصفحات : 1 2 3