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

نسخة كاملة : التصدير من الداتا الى الاكسل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم.اخواني كيف يمكن تصدير بينات شبكة الداتا غريد نحو الاكسل بحيث تكون كل البيانات في الاكسل نوع خطها 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
هذا الكود يا عزيزي

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


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 
كود :
  Dim exlapp As New Application
       Dim exlworkbook As Workbook
       Dim exlworksheet As Worksheet
       exlworkbook = exlapp.Workbooks.Add(misvalue)
مشكور اخي 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
جرب استبدالها بالتالي
(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
جرب استبدالها بالتالي
شكرا اخي تعبتك معي .نفس الخطا يظهر
السّلام عليكم و رحمة الله و بركاته
إضافة لما قدّمه أخي الكريم " Aljzazy  " ..بارك الله فيه .. هذا ملف يقوم بعمليّة الحفظ التلقائي لشيت الإكسل بمسار أنت الذّي تحدّده و بالتّاريخ و التّوقيت .. يبقى تسطير الخلايا لورقة الإكسل أحيلها للزّملاء بارك الله فيهم و لهم
تحياتي
http://www.mediafire.com/file/3cksi4dmit...%D8%AF.rar
تفضل هذا المثال .
بارك الله فيكم جميعا اخواني
بارك الله فيك asemshahen5
على المثال الرائع في تصدير الداتاقريد فيو إلى ملف إكسال
وبارك الله في الإخوة جميعا
كيف يمكن التحكم في تنسيق عمود
كيف يكون تاريخ
ايضا كيفية اخفاء عمود
شكرا