5/18/2015 07:56:00 a. m.
Share:
Blog Informático sobre Análisis y Desarrollo de Software.
// // @{ 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); } }
-- -- ---exec spr_ObtenerAgendaPorTipoContacto 2 -- Crear el Procedimiento almacenado create procedure spr_ObtenerAgendaPorTipoContacto @Tipo varchar(2) as SELECT 1, 'VARGAS', 'DAVILA', 'CARLOS', '949685100', 'CE' -- Compañero Estudios UNION SELECT 2, 'DURAND', 'ALVA', 'LUCIA', '949685002', 'CT' -- Compañero Trabajo UNION SELECT 3, 'FLORES', 'CASTRO', 'CESAR', '949452200', 'CT' -- Compañero Trabajo GO -- CON TABLA TEMPORAL CREATE TABLE #AgendaTemporal ( Id INT, ApePaterno VARCHAR(20), ApeMaterno VARCHAR(20), Nombres VARCHAR(30), Telefono varchar(20), TipoContacto varchar(2) ) -- crear tabla temporal INSERT #AgendaTemporal (Id, ApePaterno, ApeMaterno, Nombres, Telefono, TipoContacto) EXEC spr_ObtenerAgendaPorTipoContacto 'CT' select Id, ApePaterno, ApeMaterno, Nombres, Telefono, TipoContacto from #AgendaTemporal drop table #AgendaTemporal -- Eliminar la tabla temporal -- CON VARIABLE TABLA DECLARE @AgendaTemporal2 TABLE (Id INT, ApePaterno VARCHAR(20), ApeMaterno VARCHAR(20), Nombres VARCHAR(30), Telefono varchar(20), TipoContacto varchar(2) ) -- crear variable tabla INSERT @AgendaTemporal2 (Id, ApePaterno, ApeMaterno, Nombres, Telefono, TipoContacto) EXEC spr_ObtenerAgendaPorTipoContacto 'CE' select Id, ApePaterno, ApeMaterno, Nombres, Telefono, TipoContacto from @AgendaTemporal2 -------------------------------- --------------------------------
-- -- DECLARE @FechaInicioPeriodo datetime = convert(datetime, '11/01/2015', 103) (select dateadd(day,-1,left(convert(varchar(8),dateadd(month,1,@FechaInicioPeriodo),112),6)+'01'))
-- -- set dateformat dmy declare @fechaInicio as datetime = '01/01/2014 02:00' declare @fechaFin as datetime = '30/03/2015 08:00' declare @fechaDiferencia as datetime = @fechaFin - @fechaInicio declare @difSegundos as bigint = DATEDIFF( SECOND, @fechaInicio, @fechaFin ) select @fechaInicio as fechaInicio, @fechaFin as fechaFin , @fechaDiferencia as fechaResultado --tiempo transcurrido en años, meses, días y en horas:minutos:segundos , DATEDIFF( YEAR, '19000101', @fechaDiferencia ) as anios , MONTH( @fechaDiferencia ) -1 as meses , DAY( @fechaDiferencia ) -1 as dias , CAST( @fechaDiferencia AS TIME ) as tiempoEl resultado de la consulta lo muestro en la siguiente imagem:
set dateformat dmy -- para usar la fecha en formato dd/mm/yyyy declare @fecha datetime set @fecha = '31/03/2016' -- Obtenemos el primer dia del mes de interés declare @fecha_dia_uno date = DATEADD(day, -datepart(day, @fecha) +1, @fecha) -- A la fecha del primero del mes le sumamos un mes -- y luego especificamos la diferencia en días entre la fecha del primer dia aumentada un mes y la fecha del primer dia -- el resultado es el número de dias del mes de la fecha inicial select DATEDIFF(dd, @fecha_dia_uno, DATEADD(mm, 1, @fecha_dia_uno))
0 comentarios: