VBNET 2008 listview to csv dosya için function.
#1
Merhaba
Aşağıdaki kodlarla listviewden verileri csv dosyası açıp ona kaydetmek için bir fonksiyon yzadım.
Ancak program hata vermiyor fakat dosyayı açmaya kalktığımda bu dosya sylık biçimindedir açılamıyor başka biçimde açılsınmı diye mesaj çıkıyor
Ben tamam basılınca açılıyor
Normalde veriler gelmiş oluyor bir sorun çıkmıyor.
Bu mesajın çıkmması için ne yapmalıyom.
Kodlarım aşağıdadır
Butondaki kodum:
vb.net
  1. Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2. Dim msj As Boolean, yol As String
  3. yol = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
  4. Dim dosya As String = yol & "\AYLIK DÖKÜM_" & Format(Date.Now, "dd_mm_yyyy_hh_mm_ss") & ".csv"
  5. If System.IO.File.Exists(yol) = False Then
  6. CSVOlarakKaydet(dosya, ListView1)
  7. msj = evrenmsj("Aylık döküm csv dosyası olarak masa üstüne çıkarıldı", evtamam, "AYLIK DÖKÜM")
  8. End If
  9. End Sub


Fonksiyonum:
vb.net
  1. Module Listview_to_csv
  2. Public Function CSVOlarakKaydet(ByVal filename As String, ByVal lv As ListView) As Boolean
  3. Dim deg As String
  4. Try
  5. Dim os As New IO.StreamWriter(filename, True, System.Text.Encoding.Default)
  6. For i As Integer = 0 To lv.Columns.Count - 1
  7. deg = deg & ";" & lv.Columns(i).Text.Replace("""", """""")
  8. Next
  9. deg = Right(deg, Len(deg) - 1)
  10. os.WriteLine(deg, vbNewLine)
  11. For i As Integer = 0 To lv.Items.Count - 1
  12. deg = ""
  13. For j As Integer = 0 To lv.Columns.Count - 1
  14. deg = deg & ";" & lv.Items(i).SubItems(j).Text.Replace("""", """""")
  15. Next
  16. deg = Right(deg, Len(deg) - 1)
  17. os.WriteLine(deg, vbNewLine)
  18. Next
  19. os.Flush()
  20. os.Close()
  21. Catch ex As Exception
  22. Return False
  23. End Try
  24. Return True
  25. End Function
  26. End Module





  Alıntı
Bu mesajı beğenenler:
#2
Merhaba.
Kendi kendime yaptığım uğraşlardan sonra,listviewde ID isminde sütun başlığı yüzünden csv dosya açılırken bu hata mesajını verdiğini gördüm.ID başlığı olduğu için o dosyayı sylık dosyası olarak görüyor.Ve o şekilde açmaya çalışıyordu.
Kendimce başlık ID ise onun önüne bir karakter boşluk basıyorum.
Bu şekilde sorun çözüldü.
Ama bence bu doğru bir çözüm değil.
Daha doğru bir çözüm önerebilirmisiniz?Smile
vb.net
  1. For i As Integer = 0 To lv.Columns.Count - 1
  2. baslik = lv.Columns(i).Text.Replace("""", """""")
  3. If baslik = "ID" Then baslik = " ID"
  4. deg = deg & ";" & baslik
  5. Next
  6. deg = Right(deg, Len(deg) - 1)
  7. os.WriteLine(deg, vbNewLine)





  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  vbnet acsess bağlantısında dlookup kullanımı kokotuna 2 1.579 10-04-2014, 09:36
Son Mesaj: kokotuna
  VBNET 2008 Userform hep üstte oluyor. Orion 2 2.286 10-11-2011, 18:44
Son Mesaj: Orion
  VBNET alternatif msgbox Orion 3 2.991 10-09-2010, 18:20
Son Mesaj: omaTR
  VBNET-2008 Yeni bir txt dosyası oluşturmak ve veri girmek Orion 7 9.894 21-07-2010, 15:30
Son Mesaj: qnill
  VBNET 2008 Listviewde font style öğrenmek Orion 1 1.816 03-07-2010, 10:59
Son Mesaj: Orion
  VBNET 2008 Shared değiişken tanımlama. Orion 2 2.546 30-06-2010, 08:13
Son Mesaj: Orion
  VBNET 2008 Comboboxta Pr.nterleri listelemek Orion 5 2.740 29-06-2010, 21:20
Son Mesaj: assenucler
  VBNET 2008 #Region Orion 4 3.768 28-06-2010, 16:52
Son Mesaj: Orion

Foruma Git:


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