تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طلب مستعجل وضروري جداااااا
#1
لو سمحتم انا مضطر جدا على كود لتصدير جدول في قاعدة بيانات سيكوال 
وكود لاستيراد جدول في قاعدة بيانات سيكوال
مش مهم نوع الملف اكسل سكربت TXT مش مهم


.....ارجو الاجابة يا زملائي ترى انا مضطر جداااا
يتوفر لدينا برنامج مبيعات يصلح لاغراض تعليمية وتجارية
الرد }}}
تم الشكر بواسطة: ابو انس
#2
PHP كود :
Imports System.Security.Cryptography
Imports System
.Text
Imports System
.IO
Imports Excel
Imports System
.Windows.Forms

#Region "Export To Excel"
 
   Public Sub ExportToExcel(DGVXT As DataGridViewOptional OpenDialog As Boolean FalseOptional SameColumnsWidth As Boolean True)
 
       If DGVXT.RowCount 1 Then
            MsgBox
("لا يوجد سجلات للتصدير ")
 
           Exit Sub
        End 
If
 
       Dim FlNm As String ""
 
       Dim sv As New SaveFileDialog
        sv
.FileName "Microsoft Excel File"
 
       sv.Filter "|*.xls"
 
       If sv.ShowDialog <> DialogResult.OK Then Exit Sub
        FlNm 
sv.FileName
        Dim fs 
As New System.IO.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 DGVXT.ColumnCount 1
                    
.WriteLine("  <Column ss:Width=""" DGVXT.Columns(i).Width """/>")
 
               Next
            End 
If
 
           .WriteLine("  <Row ss:StyleID=""ksg"">")
 
           For i As Integer 0 To DGVXT.Columns.Count 1
                Application
.DoEvents()
 
               .WriteLine("  <Cell ss:StyleID=""hdr"">")
 
               .WriteLine("    <Data ss:Type=""String"">{0}</Data>"DGVXT.Columns.Item(i).HeaderText)
 
               .WriteLine("  </Cell>")
 
           Next
            
.WriteLine("  </Row>")
 
           If DGVXT.AllowUserToAddRows False Then
                For intRow 
As Integer 0 To DGVXT.RowCount 1
                    Application
.DoEvents()
 
                   .WriteLine("  <Row ss:StyleID=""ksg"" ss:utoFitHeight =""0"">")
 
                   For intCol As Integer 0 To DGVXT.Columns.Count 1
                        Application
.DoEvents()
 
                       If DGVXT.Item(intColintRow).Value Is Nothing Then
                            Continue 
For
 
                       End If
 
                       .WriteLine("  <Cell ss:StyleID=""isi"">")
 
                       .WriteLine("  <Data ss:Type=""String"">{0}</Data>"DGVXT.Item(intColintRow).Value.ToString)
 
                       .WriteLine("  </Cell>")
 
                   Next
                    
.WriteLine("  </Row>")
 
               Next
            Else
                For intRow 
As Integer 0 To DGVXT.RowCount 2
                    Application
.DoEvents()
 
                   .WriteLine("  <Row ss:StyleID=""ksg"" ss:utoFitHeight =""0"">")
 
                   For intCol As Integer 0 To DGVXT.Columns.Count 1
                        Application
.DoEvents()
 
                       If DGVXT.Item(intColintRow).Value Is Nothing Then
                            Continue 
For
 
                       End If
 
                       .WriteLine("  <Cell ss:StyleID=""isi"">")
 
                       .WriteLine("  <Data ss:Type=""String"">{0}</Data>"DGVXT.Item(intColintRow).Value.ToString)
 
                       .WriteLine("  </Cell>")
 
                   Next
                    
.WriteLine("  </Row>")
 
               Next
            End 
If
 
           .WriteLine("  </Table>")
 
           .WriteLine("  </Worksheet>")
 
           .WriteLine("</Workbook>")
 
           .Close()
 
           If OpenDialog Then
                Dim msg1
                msg1 
MsgBox("تمت عملية الحفظ بنجاح .. هل تريد فتح الملف ؟"MsgBoxStyle.YesNo MsgBoxStyle.Question"تصدير ملف")
 
               If msg1 vbNo Then Exit Sub
                Process
.Start(FlNm)
 
           End If
 
       End With
    End Sub
    Public Sub ExportDaTaTableToExcel
(DaTaTableXT As DataTableOptional OpenDialog As Boolean FalseOptional SameColumnsWidth As Boolean True)
 
       If DaTaTableXT.Rows.Count 1 Then
            MsgBox
("لا يوجد سجلات للتصدير ")
 
           Exit Sub
        End 
If
 
       Dim FlNm As String ""
 
       Dim sv As New SaveFileDialog
        sv
.FileName "Microsoft Excel File"
 
       sv.Filter "|*.xls"
 
       If sv.ShowDialog <> DialogResult.OK Then Exit Sub
        FlNm 
sv.FileName
        Dim fs 
As New System.IO.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 DaTaTableXT.Columns.Count 1
                    
.WriteLine("  <Column ss:Width=""" 120 """/>"''DaTaTableXT.Columns(i).Width
                Next
            End 
If
 
           .WriteLine("  <Row ss:StyleID=""ksg"">")
 
           For i As Integer 0 To DaTaTableXT.Columns.Count 1
                Application
.DoEvents()
 
               .WriteLine("  <Cell ss:StyleID=""hdr"">")
 
               .WriteLine("    <Data ss:Type=""String"">{0}</Data>"DaTaTableXT.Columns.Item(i).Caption)
 
               .WriteLine("  </Cell>")
 
           Next
            
.WriteLine("  </Row>")
 
           For intRow As Integer 0 To DaTaTableXT.Rows.Count 1
                Application
.DoEvents()
 
               .WriteLine("  <Row ss:StyleID=""ksg"" ss:utoFitHeight =""0"">")
 
               For intCol As Integer 0 To DaTaTableXT.Columns.Count 1
                    Application
.DoEvents()
 
                   If DaTaTableXT.Rows(intRow)(intColIs Nothing Then
                        Continue 
For
 
                   End If
 
                   .WriteLine("  <Cell ss:StyleID=""isi"">")
 
                   .WriteLine("  <Data ss:Type=""String"">{0}</Data>"DaTaTableXT.Rows(intRow)(intCol).ToString)
 
                   .WriteLine("  </Cell>")
 
               Next
                
.WriteLine("  </Row>")
 
           Next
            
.WriteLine("  </Table>")
 
           .WriteLine("  </Worksheet>")
 
           .WriteLine("</Workbook>")
 
           .Close()
 
           If OpenDialog Then
                Dim msg1
                msg1 
MsgBox("تمت عملية الحفظ بنجاح .. هل تريد فتح الملف ؟"MsgBoxStyle.YesNo +
 
                             MsgBoxStyle.Question MsgBoxStyle.MsgBoxRight +
 
                             MsgBoxStyle.MsgBoxRtlReading"تصدير ملف")
 
               If msg1 vbNo Then Exit Sub
                Process
.Start(FlNm)
 
           End If
 
       End With
    End Sub
    Public Result 
As New DataSet()
 
   Public Sub ImportExcelFile(dgv As DataGridViewcomboBox1 As ComboBox)
 
       dgv.DataSource Nothing
        Dim Ofd 
As New OpenFileDialog()
 
       Ofd.Filter "Excel 2007|*.xlsx|Excel 2003|*.xls"
 
       Ofd.ValidateNames True
        If Ofd
.ShowDialog() = DialogResult.OK Then
            Dim filePath 
As String Ofd.FileName
            Dim fs 
As System.IO.FileStream System.IO.File.Open(filePathSystem.IO.FileMode.OpenSystem.IO.FileAccess.Read)
 
           Dim Reader As Excel.IExcelDataReader
            If Ofd
.FilterIndex 0 Then
                Reader 
Excel.ExcelReaderFactory.CreateBinaryReader(fs)
 
           Else
                Reader 
Excel.ExcelReaderFactory.CreateOpenXmlReader(fs)
 
           End If

 
           Reader.IsFirstRowAsColumnNames True
            Result 
Reader.AsDataSet()
 
           comboBox1.Items.Clear()
 
           If Not Result Is Nothing Then
                For Each Dt 
As DataTable In Result.Tables
                    comboBox1
.Items.Add(Dt.TableName)
 
               Next
                Reader
.Close()
 
           End If
 
       End If
 
   End Sub
#End Region 

في المرفقات مكتبة ديناميكية إضفها لمكتبات مشروعك .


الملفات المرفقة
.zip   Excel.zip (الحجم : 31.05 ك ب / التحميلات : 15)
الرد }}}
تم الشكر بواسطة: خالد20 , ابراهيم ايبو , ابو انس
#3
شكرا لردك الكريم
ولكن للاسف الكود لا يعمل المطلوب ان هذا الكود هو لتصدير بيانات من داتا جريد فيو الى اكسل

المشكلة هي كالاتي
لدي جدول في سيكوال سيرفر  فيه حقل ترقيم تلقائي وحقل مفتاح رئيسي اريد تصدير كافة البيانات التي فيه الى جدول مماثل ولكن فيه حقول اضافيية موجود على قاعد بيانات اخرى
يعني عملية التصدير ستكون الى ملف ايا كا ن نوعه لا يهم وانا سآخذ الملف على فلاش ميميوري ثم اذهب للحاسب الاخر واستورد البيانات
علما ان الجدول الثاني مطابق تماما بترتيب الاعمدة وكل شيء للجدول الاول الا انه يحتوي على عمودين اضافيين بالاخر
يتوفر لدينا برنامج مبيعات يصلح لاغراض تعليمية وتجارية
الرد }}}
تم الشكر بواسطة: asemshahen5
#4
كود التصدير الى اكسيل يوضع في مديول بالمشروع :

PHP كود :
Public Sub ExportToExcel(DGVXT As DataGridViewOptional OpenDialog As Boolean FalseOptional SameColumnsWidth As Boolean True)
 
       If DGVXT.RowCount 1 Then
            MsgBox
("لا يوجد سجلات للتصدير ")
 
           Exit Sub
        End 
If
 
       Dim FlNm As String ""
 
       Dim sv As New SaveFileDialog
        sv
.FileName "Microsoft Excel File"
 
       sv.Filter "|*.xls"
 
       If sv.ShowDialog <> DialogResult.OK Then Exit Sub
        FlNm 
sv.FileName
        Dim fs 
As New System.IO.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 DGVXT.ColumnCount 1
                    
.WriteLine("  <Column ss:Width=""" DGVXT.Columns(i).Width """/>")
 
               Next
            End 
If
 
           .WriteLine("  <Row ss:StyleID=""ksg"">")
 
           For i As Integer 0 To DGVXT.Columns.Count 1
                Application
.DoEvents()
 
               .WriteLine("  <Cell ss:StyleID=""hdr"">")
 
               .WriteLine("    <Data ss:Type=""String"">{0}</Data>"DGVXT.Columns.Item(i).HeaderText)
 
               .WriteLine("  </Cell>")
 
           Next
            
.WriteLine("  </Row>")
 
           If DGVXT.AllowUserToAddRows False Then
                For intRow 
As Integer 0 To DGVXT.RowCount 1
                    Application
.DoEvents()
 
                   .WriteLine("  <Row ss:StyleID=""ksg"" ss:utoFitHeight =""0"">")
 
                   For intCol As Integer 0 To DGVXT.Columns.Count 1
                        Application
.DoEvents()
 
                       If DGVXT.Item(intColintRow).Value Is Nothing Then
                            Continue 
For
 
                       End If
 
                       .WriteLine("  <Cell ss:StyleID=""isi"">")
 
                       .WriteLine("  <Data ss:Type=""String"">{0}</Data>"DGVXT.Item(intColintRow).Value.ToString)
 
                       .WriteLine("  </Cell>")
 
                   Next
                    
.WriteLine("  </Row>")
 
               Next
            Else
                For intRow 
As Integer 0 To DGVXT.RowCount 2
                    Application
.DoEvents()
 
                   .WriteLine("  <Row ss:StyleID=""ksg"" ss:utoFitHeight =""0"">")
 
                   For intCol As Integer 0 To DGVXT.Columns.Count 1
                        Application
.DoEvents()
 
                       If DGVXT.Item(intColintRow).Value Is Nothing Then
                            Continue 
For
 
                       End If
 
                       .WriteLine("  <Cell ss:StyleID=""isi"">")
 
                       .WriteLine("  <Data ss:Type=""String"">{0}</Data>"DGVXT.Item(intColintRow).Value.ToString)
 
                       .WriteLine("  </Cell>")
 
                   Next
                    
.WriteLine("  </Row>")
 
               Next
            End 
If
 
           .WriteLine("  </Table>")
 
           .WriteLine("  </Worksheet>")
 
           .WriteLine("</Workbook>")
 
           .Close()
 
           If OpenDialog Then
                Dim msg1
                msg1 
MsgBox("تمت عملية الحفظ بنجاح .. هل تريد فتح الملف ؟"MsgBoxStyle.YesNo MsgBoxStyle.Question"تصدير ملف")
 
               If msg1 vbNo Then Exit Sub
                Process
.Start(FlNm)
 
           End If
 
       End With
    End Sub 

ضع في زر التصدير الكود التالي :

PHP كود :
ExportToExcel(DataGridView1,trueTrue

للاستيراد أولا تأكد من إستيراد المكتبة المرفقة و فضاء الاسماء الخاص بها و هذا ايضا كود عام يوضع في مديول :

PHP كود :
Imports System.Security.Cryptography
Imports System
.Text
Imports System
.IO
Imports Excel
Imports System
.Windows.Forms

    Public Result 
As New DataSet()
 
   Public Sub ImportExcelFile(dgv As DataGridViewcomboBox1 As ComboBox)
 
       dgv.DataSource Nothing
        Dim Ofd 
As New OpenFileDialog()
 
       Ofd.Filter "Excel 2007|*.xlsx|Excel 2003|*.xls"
 
       Ofd.ValidateNames True
        If Ofd
.ShowDialog() = DialogResult.OK Then
            Dim filePath 
As String Ofd.FileName
            Dim fs 
As System.IO.FileStream System.IO.File.Open(filePathSystem.IO.FileMode.OpenSystem.IO.FileAccess.Read)
 
           Dim Reader As Excel.IExcelDataReader
            If Ofd
.FilterIndex 0 Then
                Reader 
Excel.ExcelReaderFactory.CreateBinaryReader(fs)
 
           Else
                Reader 
Excel.ExcelReaderFactory.CreateOpenXmlReader(fs)
 
           End If

 
           Reader.IsFirstRowAsColumnNames True
            Result 
Reader.AsDataSet()
 
           comboBox1.Items.Clear()
 
           If Not Result Is Nothing Then
                For Each Dt 
As DataTable In Result.Tables
                    comboBox1
.Items.Add(Dt.TableName)
 
               Next
                Reader
.Close()
 
           End If
 
       End If
 
   End Sub 

ضع في زر الاستيراد الكود التالي :

PHP كود :
'الكومبو بوكس لتحدد عن طريقها اسم الجدول'ImportExcelFile(DataGridViewcomboBox1
الرد }}}
تم الشكر بواسطة: خالد20 , ابو انس , ابو انس
#5
asemshahen5 شكرا جزيلا
يتوفر لدينا برنامج مبيعات يصلح لاغراض تعليمية وتجارية
الرد }}}
تم الشكر بواسطة: asemshahen5 , asemshahen5



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


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