lunes, 18 de mayo de 2015

Generar archivo de texto en MVC.NET para ser descargado

Posted by InfoTacticas Soluciones  |  1 comment

En un nuevo Proyecto MVC, generamos el Controlador: GenerarArchivo, cuyo método index invocará a la vista GenerarArchivo, que es una vista sencilla, y contiene un link para descargar el archivo de texto, y su contenido es mostrado a continuación:

//
//
@{
    ViewBag.Title = "GenerarArchivo";
}

Generación de Archivos

Descargar Archivo de Texto
El link lnkDescargarArchivoTexto, está referenciando a la acción DescargarExportableTXT del controller: GenerarArchivo. Está acción o método debe devolver un FileContentResult que creamos en memoria en dicho método. El contenido del controller GenerarArchivo es mostrado a continuación:
//
//
public class GenerarArchivoController : Controller
    {
        //
        // GET: /GenerarArchivo/

        public ActionResult Index()
        {
            return View("GenerarArchivo");
        }

        public FileContentResult DescargarExportableTXT()
        {
            List<string> listado = new List<string>();
            listado.Add(new String[]{"Carlos Alvarado Ferreiros", "52632030", "27/10/1990"});
            listado.Add(new String[]{"Franciso Larios Loaiza", "20205263", "15/02/1982"});
            listado.Add(new String[]{"Deysi Zárate Ríos", "42635120", "10/01/1975"});
            listado.Add(new String[]{"Marcela Morán Flores", "20435230", "26/05/1985"});

            Int32 numeroItems = listado.Count();
            StringWriter sw = new StringWriter();
            using (sw)
            {
                for (Int32 i = 0; i < numeroItems; i++)
                {
                    sw.WriteLine(listado[i][0] + "|" + listado[i][1] + "|" + listado[i][2]);                   
                }

            }
                        
            String contenido = sw.ToString();
            String NombreArchivo = "ListadoClientes_" + DateTime.Now.Date;
            String ExtensionArchivo = "txt";
            return File(new System.Text.UTF8Encoding().GetBytes(contenido), "text/" + ExtensionArchivo, NombreArchivo + "." + ExtensionArchivo);
        }
    }

Puede descargar el proyecto desde: https://www.dropbox.com/s/gnm4sooawcejfut/ProyectoGenerarArchivoTexto.rar?dl=0

5/18/2015 07:14:00 a. m. Share:

1 comentario:

Get updates in your email box
Complete the form below, and we'll send you the best coupons.

Deliver via FeedBurner
back to top