14-02-19, 11:01 PM
(آخر تعديل لهذه المشاركة : 14-02-19, 11:09 PM {2} بواسطة عبد العزيز البسكري.)
السّلام عليكم و رحمة الله و بركاته
أخي الكريم ..
أوّلا أتقدّم بجزيل الشكر و الإحترام و الإمتنان للأخ الفاضل " princelovelorn " لما قدّمه و يقدّمه للإخوة الأكارم
و المف المرسل من طرفه شغّال بطريقة رائعة و ليس به أي خلل ..
فقط كملاحظة من باب الاحتياط ..
أنا أشتغل على نسخة أوفيس 2010 لغة فرنسية و جميع الأكود لم تشتغل نتيجة عبارة Sheet1 .. طبعا قمت باستبدالها إلى كلمة Feuil1 واشتغل تمام
بالمعنى .. لو كان الأمر بملف تنفيذي على جهاز غير جهازك .. فكيف سيتم تغيير واستبدال الكلمة المقصودة
و لذلك أخي الكريم و من باب زيادة الخير خيرين .. إستعمل هذا الكود في تصدير البيانات إلى الإكسل فلا يوجد به أي إلتباس نحو هذا الأمر المشار إليه ..
غيّر أخي الكريم ما يجب تغييره ..
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Export_Dat_Excel(DGV_PATIENT)
End Subكود :
Private Sub Export_Dat_Excel(ByVal st As Object)
If IO.Directory.Exists("C:\DOCUMENT EXCEL DE CABINET MEDICAL DE PNEUMO - ALLERGOLOGIE\Association.xlsx") = False Then
IO.Directory.CreateDirectory("C:\DOCUMENT EXCEL DE CABINET MEDICAL DE PNEUMO - ALLERGOLOGIE")
End If
If ((DGV_PATIENT.Columns.Count = 0) Or (DGV_PATIENT.Rows.Count = 0)) Then
Exit Sub
End If
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 = "Times New Roman"
.Rows("1:1").Font.FontStyle = "Bold"
.Rows("1:1").Font.Size = 12
.Rows("1:1").Font.Color = Color.Red
.Columns.HorizontalAlignment = 3
.Cells(j + 1).ColumnWidth = 10
.Cells.Columns.AutoFit()
.Cells.Select()
.Cells.EntireColumn.AutoFit()
.Cells(1, 1).Select()
End With
excelWorksheet.SaveAs("C:\DOCUMENT EXCEL DE CABINET MEDICAL DE PNEUMO - ALLERGOLOGIE" & Now.ToString("@yyyy-MM-dd@HH-mm-ss") & ".xlsx")
excelBook.Close()
xlApp.Quit()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
End Try
End Subتحياتي
قناتنا على اليوتوب
