06-05-20, 12:47 AM
السلام عليكم ورحمة الله وبركاته
شكرا لك اخي ابو ليلى وجعله في ميزان حسناتك
اخي الكريم جرب هذا الكود وهو من باب الاحتمالات عله ينفع
شكرا لك اخي ابو ليلى وجعله في ميزان حسناتك
اخي الكريم جرب هذا الكود وهو من باب الاحتمالات عله ينفع
كود :
Private Sub Btn_ExToExcel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_ExToExcel.Click
If dgv_table.Rows.Count = 0 Then
Exit Sub
Else
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US")
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
:
Try
Dim xlApp As New Application
Dim excelworkBook As Microsoft.Office.Interop.Excel.Workbook = xlApp.Workbooks.Add
Dim excelWorksheet As Microsoft.Office.Interop.Excel.Worksheet = CType(excelworkBook.Worksheets(1), Worksheet)
xlApp.Visible = False
Dim currCol As Integer = 1
excelWorksheet.Cells.Select()
excelWorksheet.Cells.Delete()
For iC As Integer = 0 To dgv_table.Columns.Count - 1
If dgv_table.Columns(iC).Visible = True Then
excelWorksheet.Cells(1, currCol).Value = dgv_table.Columns(iC).HeaderText
currCol += 1
End If
Next
For i As Integer = 0 To dgv_table.RowCount - 2
currCol = 1
For j As Integer = 0 To dgv_table.Columns.Count - 1
If dgv_table.Columns(j).Visible = True Then
excelWorksheet.Cells(i + 2, currCol).value = dgv_table.Rows(i).Cells(j).FormattedValue
currCol += 1
End If
Next
Next
excelWorksheet.Rows("1:1").Font.FontStyle = "Normal"
excelWorksheet.Rows("1:1").Font.Size = 10
excelWorksheet.Cells.Columns.AutoFit()
excelWorksheet.Cells.Select()
excelWorksheet.Cells.EntireColumn.AutoFit()
excelWorksheet.Cells(1, 1).Select()
xlApp.Visible = True
Catch ex As Exception
MsgBox("فشلت عملية التصدير حاول مرة ثانية")
Finally
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
End Try
End If
End Subاعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
