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:
excelente gracias, me silvio.
ResponderEliminar