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"; }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:Generación de Archivos
Descargar Archivo de Texto
// // 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:
excelente gracias, me silvio.
ResponderEliminar