تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
التصدير من الداتا الى الاكسل
#1
السلام عليكم.اخواني كيف يمكن تصدير بينات شبكة الداتا غريد نحو الاكسل بحيث تكون كل البيانات في الاكسل نوع خطها Bold و الخلايا مسطرة مثل الصورة و يتم الحفظ ورقة الاكسل بدون تدخل مني في القرص c
استعمل هذا الكود وهو يرسل البيانات جيدا لكن حاولت تسطير ورقة الاكسل و الحفظ و لم استطع ذلك.بارك الله فيكم


كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Export_Excel(DataGridView1)
   End Sub
   Private Sub Export_Excel(ByVal st As Object)
       Dim rowsTotal, colsTotal As Short
       Dim I, j, iC As Short
       System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
       Dim xlApp As New Excel.Application
       Try
           Dim excelBook As Excel.Workbook = xlApp.Workbooks.Add
           Dim excelWorksheet As Excel.Worksheet = CType(excelBook.Worksheets(1), Excel.Worksheet)
           xlApp.Visible = True
           rowsTotal = st.RowCount
           colsTotal = st.Columns.Count - 1
           With excelWorksheet
               .Cells.Select()
               .Cells.Delete()
               For iC = 0 To colsTotal
                   .Cells(1, iC + 1).Value = st.Columns(iC).HeaderText
               Next
               For I = 0 To rowsTotal - 1
                   For j = 0 To colsTotal
                       .Cells(I + 2, j + 1).value = st.Rows(I).Cells(j).Value
                   Next j
               Next I
               .Rows("1:1").Style.Font.Name = "Arial"
               .Rows("1:1").Font.FontStyle = "Bold"
               .Rows("1:1").Font.Size = 12
               .Columns.HorizontalAlignment = 3
               .Cells(j + 1).ColumnWidth = 10
               .Cells.Columns.AutoFit()
               .Cells.Select()
               .Cells.EntireColumn.AutoFit()
               .Cells(1, 1).Select()
           End With
       Catch ex As Exception
           MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
       Finally
           System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
           xlApp = Nothing


           'xlApp.SaveAs("C:\Document_Admin.xlsx")
           'xlApp.Close()
           'xlApp.Quit()

       End Try
   End Sub
الرد
تم الشكر بواسطة:
#2
هذا الكود يا عزيزي

وهذا كود الاستدعاء مع تغيير اسم الداتا جرد فيو حسب ما يناسبك


PHP كود :
If datagridview1.RowCount 0 Then
dgv_ExportDataToExcelFile
(datagridview1)
End If 


PHP كود :
'Imports Microsoft.Office.Interop.Excel
Public Sub dgv_ExportDataToExcelFile(ByVal dgv As DataGridView)
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("ar-SA")
Dim SFD As New SaveFileDialog
Dim exlapp As New Application
Dim exlworkbook As Workbook
Dim exlworksheet As Worksheet
Dim misvalue As Object = System.Reflection.Missing.Value
exlworkbook = exlapp.Workbooks.Add(misvalue)
exlworksheet = exlworkbook.Sheets("Sheet1")
exlworksheet.DisplayRightToLeft = True
For colhead As Integer = 0 To DGV.ColumnCount - 1
exlworksheet.Cells(1, colhead + 1) = DGV.Columns(colhead).HeaderText
 Next
 For i As Integer = 0 To DGV.RowCount - 1
For j As Integer = 0 To DGV.ColumnCount - 1
exlworksheet.Cells(i + 2, j + 1) = DGV.Rows(i).Cells(j).Value.ToString
Next
Next
SFD.Filter = "Excel Files|*.xlsx|Excel 2003|*.xls"
If SFD.ShowDialog = System.Windows.Forms.DialogResult.OK Then
exlworksheet.SaveAs(SFD.FileName)
 End If
exlworkbook.Close()
exlapp.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlapp)
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlworkbook)
System.Runtime.InteropServices.Marshal.ReleaseComObject(exlworksheet)
exlapp = Nothing : exlworkbook = Nothing : exlworksheet = Nothing
If MessageBox.Show("هل تريد فتح الملف ؟", "فتح ملف الأكسل", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading) = MsgBoxResult.Yes Then
Process.Start(SFD.FileName)
End If
End Sub 
الرد
#3
كود :
  Dim exlapp As New Application
       Dim exlworkbook As Workbook
       Dim exlworksheet As Worksheet
       exlworkbook = exlapp.Workbooks.Add(misvalue)
مشكور اخي aljzazy على المساعدة لكن خطا في كل هاذي السطور
الرد
تم الشكر بواسطة: elgokr
#4
PHP كود :
 Dim exlapp As New Excel.Application
        Dim exlworkbook 
As Workbook
        Dim exlworksheet 
As Worksheet
        Dim misvalue 
As Object System.Reflection.Missing.Value
        exlworkbook 
exlapp.Workbooks.Add(misvalue
جرب استبدالها بالتالي
الرد
تم الشكر بواسطة: العيدروس , elgokr
#5
(16-09-18, 10:32 PM)aljzazy كتب :
PHP كود :
 Dim exlapp As New Excel.Application
        Dim exlworkbook 
As Workbook
        Dim exlworksheet 
As Worksheet
        Dim misvalue 
As Object System.Reflection.Missing.Value
        exlworkbook 
exlapp.Workbooks.Add(misvalue
جرب استبدالها بالتالي
شكرا اخي تعبتك معي .نفس الخطا يظهر
الرد
تم الشكر بواسطة: elgokr
#6
السّلام عليكم و رحمة الله و بركاته
إضافة لما قدّمه أخي الكريم " Aljzazy  " ..بارك الله فيه .. هذا ملف يقوم بعمليّة الحفظ التلقائي لشيت الإكسل بمسار أنت الذّي تحدّده و بالتّاريخ و التّوقيت .. يبقى تسطير الخلايا لورقة الإكسل أحيلها للزّملاء بارك الله فيهم و لهم
تحياتي
الرد
تم الشكر بواسطة: ابراهيم ايبو , elgokr , العيدروس
#7
تفضل هذا المثال .


الملفات المرفقة
.zip   TestExportDgvToExcel.zip (الحجم : 151.27 ك ب / التحميلات : 165)
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر




الرد
#8
بارك الله فيكم جميعا اخواني
الرد
تم الشكر بواسطة: asemshahen5 , elgokr
#9
بارك الله فيك asemshahen5
على المثال الرائع في تصدير الداتاقريد فيو إلى ملف إكسال
وبارك الله في الإخوة جميعا
الرد
تم الشكر بواسطة: asemshahen5



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


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