VBNET 2008 export to csv or txt
#1
Merhaba
Arkadaşlar. vbnet 2008 ile Datagridview,listview,Listbox ve combobox için bir fonksiyon içinde listelenen verileri csv veya txt formatında export eden bir function yazdım.Kaynak programıda kodları ile beraber ekte yolldaım.Eğer dosya yoksa yeni bir dosya oluşturuyor.Var olan dosyanın üzerine yazmıyor.
Kullanışı:Datagridview için:
Aşağıdaki kod C:\ Kök dizinine Datagridviewdeki verileri csv formatında export ediyor.
txt dosyası için .csv yazan yere .csv yazmalaısınız.
DataGridView1 yazan yere kullandığınız nesnenin adını yazmalaısıznız.
Eğer listview kullandıysanız adı listview1 ise oraya ListView1 yazacaktınız.
Kolay gelsin

vb.net
  1. CSV_TXT_OlarakKaydet("C:\Datagrid_csv" & Format(Now, "dd_MM_yyyy_hh_mm_ss") & ".csv", DataGridView1, "Buraya istediğiniz bir şey yazın")


Fonksiyon:
vb.net
  1. Public Function CSV_TXT_OlarakKaydet(ByVal filename As String, ByVal lv_dgw As Object, ByVal strbaslik As String) As Boolean
  2. Dim deg As String, baslik As String, ustbaslik As String
  3. Try
  4. Dim os As New IO.StreamWriter(filename, True, System.Text.Encoding.GetEncoding("iso-8859-9"))
  5. 'Başlıklar yazılıyor
  6. ustbaslik = UCase(Replace(Replace(strbaslik, "ı", "I"), "i", "İ"))
  7. If ustbaslik = "ID" Then ustbaslik = " " & ustbaslik
  8. os.WriteLine(ustbaslik, vbNewLine)
  9. If (TypeName(lv_dgw)) = "ListView" Then
  10. For i As Integer = 0 To lv_dgw.Columns.Count - 1
  11. baslik = lv_dgw.Columns(i).Text.Replace("""", """""")
  12. If UCase(Replace(Replace(baslik, "ı", "I"), "i", "İ")) = "ID" Then baslik = " ID"
  13. deg = deg & ";" & baslik
  14. Next
  15. End If
  16. If (TypeName(lv_dgw)) = "DataGridView" Then
  17. For i As Integer = 0 To lv_dgw.Columns.Count - 1
  18. baslik = lv_dgw.Columns(i).HeaderText.Replace("""", """""")
  19. If UCase(Replace(Replace(baslik, "ı", "I"), "i", "İ")) = "ID" Then baslik = " ID"
  20. deg = deg & ";" & baslik
  21. Next
  22. End If
  23. If TypeName(lv_dgw) <> "ListBox" And TypeName(lv_dgw) <> "ComboBox" Then
  24. deg = Right(deg, Len(deg) - 1)
  25. os.WriteLine(deg, vbNewLine)
  26. End If
  27. 'satırlar Kaydediliyor
  28. If TypeName(lv_dgw) = "ListView" Then
  29. For i As Integer = 0 To lv_dgw.Items.Count - 1
  30. deg = ""
  31. For j As Integer = 0 To lv_dgw.Columns.Count - 1
  32. If lv_dgw.Items(i).SubItems(j).Text <> "" Then
  33. deg = deg & ";" & lv_dgw.Items(i).SubItems(j).Text.Replace("""", """""")
  34. Else
  35. deg = deg & ";" & lv_dgw.Items(i).SubItems(j).Text
  36. End If
  37.  
  38. Next
  39. deg = Right(deg, Len(deg) - 1)
  40. os.WriteLine(deg, vbNewLine)
  41. Next
  42. End If
  43. If (TypeName(lv_dgw)) = "DataGridView" Then
  44. For i As Integer = 0 To lv_dgw.rowcount() - 1
  45. deg = ""
  46. For j As Integer = 0 To lv_dgw.Columns.Count - 1
  47. If lv_dgw.Item(j, i).value <> "" Then
  48. deg = deg & ";" & Replace(lv_dgw.Item(j, i).value, """", """""")
  49. Else
  50. deg = deg & ";" & lv_dgw.Item(j, i).value
  51. End If
  52. Next
  53. deg = Right(deg, Len(deg) - 1)
  54. os.WriteLine(deg, vbNewLine)
  55. Next
  56. End If
  57. If TypeName(lv_dgw) = "ListBox" Or TypeName(lv_dgw) = "ComboBox" Then
  58. For i As Integer = 0 To lv_dgw.items.count() - 1
  59. deg = ""
  60. If lv_dgw.Items(i) <> "" Then
  61. deg = Replace(lv_dgw.Items(i), """", """""")
  62. Else
  63. deg = lv_dgw.Items(i)
  64. End If
  65. os.WriteLine(deg, vbNewLine)
  66. Next
  67. End If
  68. os.Flush()
  69. os.Close()
  70. Catch ex As Exception
  71. Return False
  72. End Try
  73. Return True
  74. End Function





  Alıntı
Bu mesajı beğenenler:


Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi