27-04-21, 10:37 PM
السلام عليكم ورحمة الله وبركاتة
عندي داتاتابل محملة بالبيانات واريد تصدير البيانات من الداتاتابل الي ملف نصي csv
حيث عند تجميع أسماء الطلاب STU_NAMES عمل جروب واستبعاد المكرر ، سيكون عدد الأعمدة التي تظهر في ملف csv كأرقام من 0 إلى اخر قيمة لعدد الصفوف المجمعة .
عند تجميع الاختبارات STU_TEST عمل جروب واستبعاد المكرر ، تكون الصفوف في ملف csv
تظهر البيانات أفقيًا لكل طالب وفقًا لقيمة ورقم في العمود
شكل البيانات من القاعدة وبعد نسخها للداتاتابل
الشكل المطلوب بعد عكس الصفوف الخاصة بالاسماء بعد عمل جروب لها
فكرة التصدير
الطريقة التي استخدمها للتصدير
عندي داتاتابل محملة بالبيانات واريد تصدير البيانات من الداتاتابل الي ملف نصي csv
حيث عند تجميع أسماء الطلاب STU_NAMES عمل جروب واستبعاد المكرر ، سيكون عدد الأعمدة التي تظهر في ملف csv كأرقام من 0 إلى اخر قيمة لعدد الصفوف المجمعة .
عند تجميع الاختبارات STU_TEST عمل جروب واستبعاد المكرر ، تكون الصفوف في ملف csv
تظهر البيانات أفقيًا لكل طالب وفقًا لقيمة ورقم في العمود
شكل البيانات من القاعدة وبعد نسخها للداتاتابل
الشكل المطلوب بعد عكس الصفوف الخاصة بالاسماء بعد عمل جروب لها
فكرة التصدير
الطريقة التي استخدمها للتصدير
كود :
Public Sub csvexportd(ByVal dT As DataTable, ByVal filpath As String)
Dim thecsvfile As String = String.Empty
Dim nameHeader0 = dT.Columns(1).ColumnName.ToString
Dim nameHeader1 = dT.Columns(2).ColumnName.ToString
Dim nameHeader2 = dT.Columns(3).ColumnName.ToString
thecsvfile &= String.Join(",", {nameHeader0, nameHeader1, nameHeader2}) & vbNewLine
Dim I As Single = 0
For I = 0 To dT.Rows.Count - 1
If dT Is Nothing Then
Exit For : Exit Sub
End If
'//
Dim nameValue0 = ""
Dim nameValue1 = ""
Dim nameValue2 = ""
'//
nameValue0 = dT.Rows(I).Item(0).ToString()
nameValue1 = dT.Rows(I).Item(1).ToString()
nameValue2 = dT.Rows(I).Item(2).ToString()
thecsvfile &= String.Join(",", {nameValue0, nameValue1, nameValue2}) & vbNewLine
End If
Next
thecsvfile = thecsvfile.Trim
My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\Excel\" & filpath & now & ".csv", thecsvfile, False)
End Sub