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

نسخة كاملة : استفسار عن كود تصدير بيانات داتا قريد الى اكسل وورود
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
مسااءكم دهن العود ي اخوان ..

استفسار ي اعزائي هل يوجد كود ل تصدير بيانات داتا قريد الئ ملف اكسل او ورود ?
اذا فيه ياليت لي يعرفه يفيدني ابه شاكر للجميع


مودتي
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 0 To DGV.ColumnCount 1
                    
.WriteLine("  <Column ss:Width=""" DGV.Columns(i).Width """/>")
                
Next
            End 
If
            .
WriteLine("  <Row ss:StyleID=""ksg"">")
            For 
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 
لي ملاحظه هنا بخصوص تصدير بيانات الداتا قريد فيو إلى اكسل او وورد

احيان اختلاف اصدار برنامج اوفيس يسبب مشاكل .

الحل الافضل من وجهة نظري تعمل تقرير ومن التقرير تقوم بتصدير البيانات إلى اكسل او وورد او بي دي اف

التقارير التي تدعم التصدير منها تقارير مايكروسوفت (Report viewer .Rdlc) و تقارير الكريستال ريبورت .
شكرا لكم جميعا اعزائي كل مشاركات فائدتني ولله الحمد تم عمل الخطوه بنجاح ..

بخصوص مشكلة فرق الاصدار اشكرك على التنبيه عزيزي حريف برمجة ..



رزقكم ربي جنات النعيم ..