السلام عليكم
كل عام وانتم بخير بمناسبة حلول شهر رمضان المبارك اعاده الله علينا وعوعليكم باليمن والبركات
اخوتي الاعضاء ارجوو مساعدتي في كود لتصدير بيانات من DataGridviwe الى نوع CSV
والسلام عليكم ورحمه الله وبركاته
عزيزي محمد بوقزاحة هذا الكود
Dim csv As String = String.Empty
Dim save_file As New SaveFileDialog
save_file.Filter = "Csv Files (*.csv)|*.csv"
save_file.FileName = "newsave"
' txtpathfile.Text = fName
If save_file.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim headers = (From header As DataGridViewColumn In GridView1.Columns.Cast(Of DataGridViewColumn)() _
Select header.HeaderText).ToArray
Dim rows = From row As DataGridViewRow In GridView1.Rows.Cast(Of DataGridViewRow)() _
Where Not row.IsNewRow _
Select Array.ConvertAll(row.Cells.Cast(Of DataGridViewCell).ToArray, Function© If(c.Value IsNot Nothing, c.Value.ToString.Replace(" 12:00:00 ص", ""), ""))
' csv += row.Value.ToString().Replace(" 12:00:00 ص", "") & "|"c
Using sw As New IO.StreamWriter(save_file.FileName, Nothing, System.Text.Encoding.Unicode)
sw.WriteLine(String.Join("|", headers)) ', System.Text.Encoding.Unicode)
For Each r In rows
sw.WriteLine(String.Join("|", r)) ', System.Text.Encoding.Unicode)
Next
'save_file.FileName.Replace(".txt", ".csv")
End Using
End If
(04-05-22, 08:14 PM)emadtm كتب : [ -> ]عزيزي محمد بوقزاحة هذا الكود
Dim csv As String = String.Empty
Dim save_file As New SaveFileDialog
save_file.Filter = "Csv Files (*.csv)|*.csv"
save_file.FileName = "newsave"
' txtpathfile.Text = fName
If save_file.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim headers = (From header As DataGridViewColumn In GridView1.Columns.Cast(Of DataGridViewColumn)() _
Select header.HeaderText).ToArray
Dim rows = From row As DataGridViewRow In GridView1.Rows.Cast(Of DataGridViewRow)() _
Where Not row.IsNewRow _
Select Array.ConvertAll(row.Cells.Cast(Of DataGridViewCell).ToArray, Function© If(c.Value IsNot Nothing, c.Value.ToString.Replace(" 12:00:00 ص", ""), ""))
' csv += row.Value.ToString().Replace(" 12:00:00 ص", "") & "|"c
Using sw As New IO.StreamWriter(save_file.FileName, Nothing, System.Text.Encoding.Unicode)
sw.WriteLine(String.Join("|", headers)) ', System.Text.Encoding.Unicode)
For Each r In rows
sw.WriteLine(String.Join("|", r)) ', System.Text.Encoding.Unicode)
Next
'save_file.FileName.Replace(".txt", ".csv")
End Using
End If
السلام عليكم
اولا كل عام وانت بخير
شكرا على المشاركة
حربت الكود لكن يوجد اخطاء ولا اعرف السبب
الصورة مرفقه
(09-05-22, 12:22 AM)محمد بوقزاحة كتب : [ -> ] (04-05-22, 08:14 PM)emadtm كتب : [ -> ]عزيزي محمد بوقزاحة هذا الكود
Dim csv As String = String.Empty
Dim save_file As New SaveFileDialog
save_file.Filter = "Csv Files (*.csv)|*.csv"
save_file.FileName = "newsave"
' txtpathfile.Text = fName
If save_file.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim headers = (From header As DataGridViewColumn In GridView1.Columns.Cast(Of DataGridViewColumn)() _
Select header.HeaderText).ToArray
Dim rows = From row As DataGridViewRow In GridView1.Rows.Cast(Of DataGridViewRow)() _
Where Not row.IsNewRow _
Select Array.ConvertAll(row.Cells.Cast(Of DataGridViewCell).ToArray, Function© If(c.Value IsNot Nothing, c.Value.ToString.Replace(" 12:00:00 ص", ""), ""))
' csv += row.Value.ToString().Replace(" 12:00:00 ص", "") & "|"c
Using sw As New IO.StreamWriter(save_file.FileName, Nothing, System.Text.Encoding.Unicode)
sw.WriteLine(String.Join("|", headers)) ', System.Text.Encoding.Unicode)
For Each r In rows
sw.WriteLine(String.Join("|", r)) ', System.Text.Encoding.Unicode)
Next
'save_file.FileName.Replace(".txt", ".csv")
End Using
End If
السلام عليكم
اولا كل عام وانت بخير
شكرا على المشاركة
حربت الكود لكن يوجد اخطاء ولا اعرف السبب
الصورة مرفقه
(09-05-22, 12:22 AM)محمد بوقزاحة كتب : [ -> ] (04-05-22, 08:14 PM)emadtm كتب : [ -> ]عزيزي محمد بوقزاحة هذا الكود
Dim csv As String = String.Empty
Dim save_file As New SaveFileDialog
save_file.Filter = "Csv Files (*.csv)|*.csv"
save_file.FileName = "newsave"
' txtpathfile.Text = fName
If save_file.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim headers = (From header As DataGridViewColumn In GridView1.Columns.Cast(Of DataGridViewColumn)() _
Select header.HeaderText).ToArray
Dim rows = From row As DataGridViewRow In GridView1.Rows.Cast(Of DataGridViewRow)() _
Where Not row.IsNewRow _
Select Array.ConvertAll(row.Cells.Cast(Of DataGridViewCell).ToArray, Function© If(c.Value IsNot Nothing, c.Value.ToString.Replace(" 12:00:00 ص", ""), ""))
' csv += row.Value.ToString().Replace(" 12:00:00 ص", "") & "|"c
Using sw As New IO.StreamWriter(save_file.FileName, Nothing, System.Text.Encoding.Unicode)
sw.WriteLine(String.Join("|", headers)) ', System.Text.Encoding.Unicode)
For Each r In rows
sw.WriteLine(String.Join("|", r)) ', System.Text.Encoding.Unicode)
Next
'save_file.FileName.Replace(".txt", ".csv")
End Using
End If
السلام عليكم
اولا كل عام وانت بخير
شكرا على المشاركة
حربت الكود لكن يوجد اخطاء ولا اعرف السبب
الصورة مرفقه
السلام عليكم ورحمة الله وبركاته
اخي الكريم محمد
بالنسبة للملف ذو اللاحقة CSV يتم فيه كتابة عناوين الحقول مفصولة بـ (, )
ثم السجلات اسفله ايضا مفصولة بالفاصلة
واعتقد من خلال التجربة لايقبل الا اشارة الفاصلة
اما ان اردت استخدام اشارات اخرى للفصل بين قيم الحقول فالأمر مختلف وهنا يجب ان تتعامل مع ملف نصي عادي تنشئ شكل الداتا كما تريد وهو اكثر تعقيدا من الملف CSV
إليك هذا المثال وهو يجلب البيانات من قاعدة اكسس ويضعها في الداتاغرايد ثم نقوم بالتصدير الى ملف CSV داخل مجلد DDD موجود في مجلد الـ Debug
اكتب اسم الملف فقط بدون لاحقة ثم اضغط البوتون تصدير