CSV ve XML Dosya Okuma Yazma

Aymira Yazılım Bilişim Aymira Yazılım Bilişim

29 Mayıs 2018 Yazılım Dilleri (152) /Asp.Net MVC (110) (188)

CSV ve XML Dosya Okuma Yazma

Paylaşmak güzeldir. Lütfen sizde paylaşın...


CSV ve XML Dosya Okuma Yazma

CSV ve XML Dosya Okuma Yazma

CSV ve XML Dosya Okuma Yazma

Imports System.IO
Imports System.Text

Public Class Form1
Private Sub btnXmlOku_Click(sender As Object, e As EventArgs) Handles btnXmlOku.Click
openFileDialog1.Filter = "XML Dosyaları|*.xml"
If openFileDialog1.ShowDialog() = DialogResult.Cancel Then
Return
End If
dgKayitlar.DataSource = Nothing
Dim ds As New DataSet()
ds.ReadXml(openFileDialog1.FileName)
dgKayitlar.DataSource = ds.Tables(0)
End Sub

Private Sub btnCsvOku_Click(sender As Object, e As EventArgs) Handles btnCsvOku.Click
openFileDialog1.Filter = "CSV Dosyaları|*.csv"
If openFileDialog1.ShowDialog() = DialogResult.Cancel Then
Return
End If
dgKayitlar.DataSource = Nothing
Dim fs As New FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read)
Dim sr As New StreamReader(fs, Encoding.GetEncoding(1254))
Dim satir As String
Dim i As Integer = 0
satir = sr.ReadLine
While Not satir Is Nothing
Dim parcala As String() = satir.Split(";"c)
dgKayitlar.ColumnCount = parcala.Length
dgKayitlar.Rows.Add()
For j As Integer = 0 To parcala.Length - 1
dgKayitlar.Rows(i).Cells(j).Value = parcala(j)
Next
i += 1
satir = sr.ReadLine
End While
sr.Close()
fs.Close()
End Sub

Private Sub btnCsvYaz_Click(sender As Object, e As EventArgs) Handles btnCsvYaz.Click
If dgKayitlar.RowCount = 0 Then
MessageBox.Show("Kaydedilecek Kayıt Yoktur!", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End If
saveFileDialog1.FileName = String.Format("{0:ddMMyyyyHHmmss}", DateTime.Now) + ".csv"
If saveFileDialog1.ShowDialog() = DialogResult.Cancel Then
Return
End If
Dim fs As New FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.Write)
Dim sw As New StreamWriter(fs, Encoding.GetEncoding(1254))
For i As Integer = 0 To dgKayitlar.RowCount - 1
Dim satir As String = ""
For j As Integer = 0 To dgKayitlar.ColumnCount - 1
satir += dgKayitlar.Rows(i).Cells(j).Value.ToString() + ";"
Next
satir = satir.Substring(0, satir.Length - 1)
sw.WriteLine(satir)
Next
sw.Close()
fs.Close()
If MessageBox.Show("CSV Dosya Kaydedildi... Açılsın mı?", "İşlem Onayı", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) = DialogResult.Cancel Then
Return
End If
Dim p As New System.Diagnostics.Process()
p.StartInfo.FileName = saveFileDialog1.FileName
p.Start()
End Sub

Private Sub btnXmlYaz_Click(sender As Object, e As EventArgs) Handles btnXmlYaz.Click
If dgKayitlar.RowCount = 0 Then
MessageBox.Show("Kaydedilecek Kayıt Yoktur!", "Hata", MessageBoxButtons.OK, MessageBoxIcon.[Error])
Return
End If
saveFileDialog1.FileName = String.Format("{0:ddMMyyyyHHmmss}", DateTime.Now) + ".xml"
If saveFileDialog1.ShowDialog() = DialogResult.Cancel Then
Return
End If
Dim dt As New DataTable()
For i As Integer = 0 To dgKayitlar.ColumnCount - 1
dt.Columns.Add(New DataColumn(dgKayitlar.Columns(i).HeaderText, Type.GetType("System.String")))
Next
For i As Integer = 0 To dgKayitlar.RowCount - 1
Dim dr As DataRow = dt.NewRow()
For j As Integer = 0 To dgKayitlar.ColumnCount - 1
dr(j) = dgKayitlar.Rows(i).Cells(j).Value.ToString()
Next
dt.Rows.Add(dr)
Next
Dim ds As New DataSet()
ds.Tables.Add(dt)
ds.Tables(0).TableName = "tablo"
ds.WriteXml(saveFileDialog1.FileName)
If MessageBox.Show("XML Dosya Kaydedildi... Açılsın mı?", "İşlem Onayı", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) = DialogResult.Cancel Then
Return
End If
Dim p As New System.Diagnostics.Process()
p.StartInfo.FileName = saveFileDialog1.FileName
p.Start()
End Sub

Private Sub btnKapat_Click(sender As Object, e As EventArgs) Handles btnKapat.Click
Application.Exit()
End Sub End Class


Paylaşmak güzeldir. Lütfen sizde paylaşın...



Herkesyazar Ara