domingo, 2 de agosto de 2015

Archivo de texto plano con Visual C# 2010

Se requiere generar un archivo de texto plano con los datos de los cheques emitidos por una compañía, para subirlo a la página Web de un banco, para la aprobación.
Interfaz Gráfica de Usuario para el Sistema de Registro de Cheques
Interfaz Gráfica de Usuario para el Sistema de Registro de Cheques
La estructura del archivo consiste en dos secciones: encabezado y detalle.
El encabezado, compuesto por una línea, contiene los datos de la empresa. El detalle está compuesto por una serie de líneas, correspondientes cada una, a un cheque emitido.
En este post, sólo se hará énfasis en la generación del archivo de texto.
Para generar cada una de las secciones, se crearon sendos métodos: SelectFlatFileHeader y SelectFlatFileDetails dentro de la clase Check.
Cada uno de estos métodos devuelve un DataSet, con los datos correspondientes y en el formato especificado por el banco.
En la base de datos, se crearon los procedimientos almacenados correspondientes a cada método, generando cada línea con el número necesario de caracteres y rellenando con ceros o espacios en blanco donde se requiera:
A continuación parte del código MySQL:
Código MySQL para generar el encabezado
Código MySQL para generar el encabezado
Observe como se concatenan los datos de la organización con el número total de cheques y la suma de los montos correspondientes,  devolviendo un solo campo llamado Header. Observe también como se hace uso de la función REPEAT de MySQL, para rellenar con ceros donde se necesita.
Una vez tenemos los datos cargados en el DataSet, se hace uso de SaveFileDialog, para mostrar al usuario un cuadro de diálogo que le permita indicar el nombre y la ubicación para guardar el archivo.
Luego, se hace uso de un objeto StreamWriter para escribir cada linea del archivo mediante el método WriteLine.
A continuación, el código del evento Click del botón Archivo Plano:
Código C# para generar el archivo plano
Código C# para generar el archivo plano

No hay comentarios.:

Publicar un comentario