Exportar Datatable a Diferentes Formatos
-
Upload
diego-flores-sanchez -
Category
Documents
-
view
258 -
download
0
Transcript of Exportar Datatable a Diferentes Formatos
-
7/22/2019 Exportar Datatable a Diferentes Formatos
1/16
Exportar DataTable a
diferentes formatosJavier Surez Ruiz
ndice:-Introduccin.-Response.
- Qu es?- Mtodos Principales.
- Cmo exportar?.- Exportar a documentos MS Office ( Word,Excel,PowerPoint)- Exportar a pdf ( Adobe Reader).
- Bibliografa.
-
7/22/2019 Exportar Datatable a Diferentes Formatos
2/16
Introduccin
Microsoft Office (MSO)es una suite ofimtica,compuesta bsicamente por aplicaciones deprocesamiento de textos ( Word ), plantilla de clculo (
Excel ) y programa para presentaciones (PowerPoint) .
PDF( Portable Document Format ) es un formato dealmacenamiento de documentos, desarrollado por laempresaAdobe Systems. Este formato es de tipocompuesto (imgenes y texto).
http://es.wikipedia.org/wiki/Suite_ofim%C3%A1ticahttp://es.wikipedia.org/wiki/Adobe_Systemshttp://es.wikipedia.org/wiki/Adobe_Systemshttp://es.wikipedia.org/wiki/Suite_ofim%C3%A1tica -
7/22/2019 Exportar Datatable a Diferentes Formatos
3/16
Response. Qu es ?.
Este objeto ASP es del tipo integrado, esdecir no tenemos que crear una instancia
del mismo para poder utilizarlo, su funcines enviar informacin al cliente(navegador).
-
7/22/2019 Exportar Datatable a Diferentes Formatos
4/16
Response. Mtodos Principales.
Response.Write (cadena). Enva la cadena de caracteres al cliente.
Response.Redirect (Url).Redirige la pgina ASP a la URL especificada.
Response.Flush. Enva de inmediato los datos del buffer.
Response.Clear. Borra los datos del buffer.
Response.AddHeader. Se pueden mandar ms tipos de encabezamientos del httpcomo la fecha de modificacin del documento (LAST-MODIFIED) o el tiempo en elque se tiene que realizar un refresco de la pgina (REFRESH).
Response.Cache.SetCacheability. Nos van a permitir definir si queremos que no setraiga las pginas de cach y en vez de ello se vuelven a traer desde el servidor( refrescando las variables y sessiones ) o si nos decidimos a usar la cache.
-
7/22/2019 Exportar Datatable a Diferentes Formatos
5/16
Response. Mtodos Principales.
Response.ContentType("String").Es una propiedad queespecifica el tipo de contenido del request HTTP, que puede incluirun tipo/subtipo en la cabecera de la respuesta.El tipo siempre es de contenido general y el subtipo es especfico.
El valor por defecto es text/HTML.
Response.End.Mtodo que detiene la ejecucin de la pgina, latermina.
Response.Buffer.Es una propiedad que si est a true (la opcinpor defecto en ASP 3.0) indica al servidor que debe utilizar el buffer.Si est a false (opcin por defecto para versiones anteriores de
ASP) no lo utiliza.
-
7/22/2019 Exportar Datatable a Diferentes Formatos
6/16
Exportar a MS Excel//Se carga el contenido del archivo en memoria antes de enviarlo al clienteResponse.Clear();//Damos la salida como attachment .Response.AddHeader("content-disposition", "attachment;filename=archivo.xls");Response.Charset = "";Response.Cache.SetCacheability(HttpCacheability.NoCache);//Especificamos el tipo de salida.
Response.ContentType = "application/vnd.xls";/**Para obtener el contenido HTML de un control ( en este caso un gridview) se utiliza el mtodoRenderControl, el cual acepta un HtmlTextWriter como parmetro, y sobre el cual se realiza elreenderezado. Para obtener el HtmlTextWriter lo que hago es crear primero un StringBuilder, unStringWriter sobre ste, y finalmente un HtmlTextWriter que trabaje sobre el StringWriter.
*///StringWriter Nos permite escribir informacin en una cadena.
System.IO.StringWriter stringWrite = new System.IO.StringWriter();// HtmlTextWriter Escribe caracteres de marcado y texto en una secuencia de salida de un controlde servidor ASP.NET. Esta clase proporciona funciones de aplicacin de formato.
System.Web.UI.HtmlTextWriter htmlWrite = newHtmlTextWriter(stringWrite);ContenidoGridView().RenderControl(htmlWrite);//Escribimos el HTML en el ExploradorResponse.Write(stringWrite.ToString());
//Terminamos el Response.Response.End();
-
7/22/2019 Exportar Datatable a Diferentes Formatos
7/16
P.I.A ( Primary Interop Assemblies )
Los ensamblados de interoperabilidad COM permiten que el cdigono administrado (COM) se llame desde cdigo administrado (.NET)mediante Microsoft .NET Framework y el mdulo de tiempo deejecucin de lenguaje comn.
Los ensamblados de interoperabilidad los puedes descargar en :
http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=en
Los ensamblados de interoperabilidad proporcionar un montn deopciones para trabajar con datos de Excel, tanto de lectura yescritura, permitindonos exportar crear archivos Excel confacilidad.
http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=enhttp://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=enhttp://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=enhttp://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=enhttp://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=enhttp://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=enhttp://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=enhttp://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=enhttp://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=enhttp://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=enhttp://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=enhttp://www.microsoft.com/DOWNLOADS/details.aspx?familyid=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=en -
7/22/2019 Exportar Datatable a Diferentes Formatos
8/16
Exportar a MS Excel ( 2 formas )
Ejemplo 1
-
7/22/2019 Exportar Datatable a Diferentes Formatos
9/16
Exportar a MS Word
//Se carga el contenido del archivo en memoria antes de enviarlo al clienteResponse.Clear();//Damos la salida como attachment .Response.AddHeader("content-disposition",
"attachment;filename=archivo.doc");
Response.Charset = "";Response.Cache.SetCacheability(HttpCacheability.NoCache);//Especificamos el tipo de salida.Response.ContentType = "application/vnd.doc";System.IO.StringWriter stringWrite = new System.IO.StringWriter();System.Web.UI.HtmlTextWriter htmlWrite = new
HtmlTextWriter(stringWrite);ContenidoGridView().RenderControl(htmlWrite);//Escribimos el HTML en el ExploradorResponse.Write(stringWrite.ToString());//Terminamos el Response.Response.End();
-
7/22/2019 Exportar Datatable a Diferentes Formatos
10/16
Exportar a MS PowerPoint
//Se carga el contenido del archivo en memoria antes de enviarlo al clienteResponse.Clear();//Damos la salida como attachment .Response.AddHeader("content-disposition",
"attachment;filename=archivo.ppt");
Response.Charset = "";Response.Cache.SetCacheability(HttpCacheability.NoCache);//Especificamos el tipo de salida.Response.ContentType = "application/vnd.ppt";System.IO.StringWriter stringWrite = new System.IO.StringWriter();System.Web.UI.HtmlTextWriter htmlWrite = new
HtmlTextWriter(stringWrite);ContenidoGridView().RenderControl(htmlWrite);//Escribimos el HTML en el ExploradorResponse.Write(stringWrite.ToString());//Terminamos el Response.Response.End();
-
7/22/2019 Exportar Datatable a Diferentes Formatos
11/16
Exportar a MS Word y MS PowerPoint
Ejemplo 2
-
7/22/2019 Exportar Datatable a Diferentes Formatos
12/16
Exportar a pdf ( Adobe Reader).
Que es iTextSharp? iTextSharp, es una *.dll que nos brinda ciertas
funcionalidades que nos ayudarn en la creacin de
documentos txt, rtf, doc, pdf, html y xml, como tambinpoder agregar algunas propiedades con valores comofuente, mrgenes, tamao de pgina, estilo de pgina,presentacin inicial...
No menos importante destacar que se trata de unproyecto de cdigo abierto, es decir, esta librera estotalmente gratuita.
http://sourceforge.net/projects/itextsharp/http://sourceforge.net/projects/itextsharp/ -
7/22/2019 Exportar Datatable a Diferentes Formatos
13/16
Exportar a pdf ( Adobe Reader).
Cmo crear un documento PDF ?
Document document = new Document();
PdfWriter.GetInstance(document,new FileStream(archivo.pdf",FileMode.OpenOrCreate));document.Open();
document.Add(new Paragraph("Este es mi primer PDF alvuelo"));document.Close();
-
7/22/2019 Exportar Datatable a Diferentes Formatos
14/16
Exportar a pdf ( Adobe Reader).
Con esto ya tenemos nuestro primer PDF.
Creamos un objeto de tipo Document. Es nuestro PDF.
Invocamos al mtodo esttico GetInstancede la clase PdfWriter - como argumentosrecibe el documento que acabamos de crear y un Stream. En este caso utilizamosun FileStream pero podramos haber usado cualquier Stream que admita escrituracomo por ejemplo MemoryStream.
Abrimos el documento con el mtodo Open.
Le aadimos un prrafo con Add. Debemos darnos cuenta que el mtodo Add recibe
como parmetro una interface -IElement. Esto nos va a simplificar enormemente eltrabajo.
Cerramos el documento con Close.
Que difcil! Con esto ya tenemos creado el archivo en la ruta indicada al FileStream(en mi caso la misma ruta que el ejecutable).
-
7/22/2019 Exportar Datatable a Diferentes Formatos
15/16
Exportar a Adobe Reader
Ejemplo 3
-
7/22/2019 Exportar Datatable a Diferentes Formatos
16/16
Bibliografa
En Espaol:http://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmTutorial que nos explica como exportar un datagrid a un archivo excelutlizando el objeto response. Buen ejemplo, aunque teoricamente escaso.
http://spar.unicauca.edu.co/celulaunicauca/blogs/tecnologia/archive/2007/08/27/habia-una-ves.aspxTutorial que nos explica como exportar un dataTable a excel basandose en losensamblados de interoperabilidad. Buen ejemplo, aunque teoricamente escaso.
En Ingls:
http://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309so_l/asp200309so_l.aspGenial tutorial que nos explica muy detalladamente como exportar un dataTable a Excel.Completo tericamente y buenos ejemplos.
http://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://spar.unicauca.edu.co/celulaunicauca/blogs/tecnologia/archive/2007/http://localhost/var/www/apps/conversion/tmp/scratch_4/08/27/habia-una-ves.aspxhttp://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309so_l/asp200309so_l.asphttp://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309so_l/asp200309so_l.asphttp://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309so_l/asp200309so_l.asphttp://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309so_l/asp200309so_l.asphttp://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309so_l/asp200309so_l.asphttp://localhost/var/www/apps/conversion/tmp/scratch_4/08/27/habia-una-ves.aspxhttp://localhost/var/www/apps/conversion/tmp/scratch_4/08/27/habia-una-ves.aspxhttp://localhost/var/www/apps/conversion/tmp/scratch_4/08/27/habia-una-ves.aspxhttp://localhost/var/www/apps/conversion/tmp/scratch_4/08/27/habia-una-ves.aspxhttp://localhost/var/www/apps/conversion/tmp/scratch_4/08/27/habia-una-ves.aspxhttp://spar.unicauca.edu.co/celulaunicauca/blogs/tecnologia/archive/2007/http://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htmhttp://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htm