jueves, noviembre 21, 2024

Escribir archivos de texto con VB.NET

En algunos sistemas te solicitan exportar datos en formato de archivos de texto .txt, ya sea para importar o exportar datos, enviar algún tipo de información por correo electrónico o hacer algún respaldo sencillo, en fin, sirve para muchas otras cosas más y aquí te explicamos como crearlo.

En este ejemplo obtenemos los datos de una función que nos retorna un dataset, luego lo leemos y utilizamos cada datarow para llenar el archivo línea por línea.

Debemos importar la librería Imports System.IO

Private Sub GeneraArchivo()
  'Variables para abrir el archivo en modo de escritura
  Dim strStreamW As Stream
  Dim strStreamWriter As StreamWriter
  Try
      Dim ds As New DataSet
 
      Dim FilePath As String = "C:\nombreArchivo.txt"
 
      'Se abre el archivo y si este no existe se crea
      strStreamW = File.OpenWrite(FilePath)
      strStreamWriter = New StreamWriter(strStreamW, _
                          System.Text.Encoding.UTF8)
 
      'Se traen los datos que necesitamos para el archivo
      'TraerDatosArchivo retorna un dataset pero perfectamente
      'podria ser cualquier otro tipo de objeto
      'Aquí debe llenar el dataset con los datos requeridos
      ds = Negocios.TraerDatosArchivo()
 
      Dim dr As DataRow
      Dim Nombre as String = ""
      Dim Apellido as String = ""
      Dim Email as String = ""
 
      For Each dr In ds.Tables(0).Rows
         'Obtenemos los datos del dataset
         Nombre = CStr(dr("Nombre"))
         Apellido = CStr(dr("Apellido"))
         Email = CStr(dr("Email"))
 
         'Escribimos la línea en el achivo de texto
         strStreamWriter.WriteLine(Nombre & " " & Apellido & " - " & Email)
 
      Next
 
      strStreamWriter.Close()
 
      MsgBox("El archivo se generó con éxito")
 
  Catch ex As Exception
      strStreamWriter.Close()
      MsgBox(ex.Message)
  End Try
End Sub

 

Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub
Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub