1 / 16

Exportar DataTable a diferentes formatos Javier Suárez Ruiz

Exportar DataTable a diferentes formatos Javier Suárez Ruiz. Índice: Introducción. Response. - ¿Qué es? - Métodos Principales. - ¿Cómo exportar?. - Exportar a documentos MS Office ( Word,Excel,PowerPoint) - Exportar a pdf ( Adobe Reader).

sherri
Télécharger la présentation

Exportar DataTable a diferentes formatos Javier Suárez Ruiz

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Exportar DataTable a diferentes formatosJavier Suárez Ruiz Índice: Introducción. Response. - ¿Qué es? - Métodos Principales. - ¿Cómo exportar?. - Exportar a documentos MS Office ( Word,Excel,PowerPoint) - Exportar a pdf ( Adobe Reader). - Bibliografía.

  2. Introducción • Microsoft Office (MSO) es una suite ofimática, compuesta básicamente por aplicaciones de procesamiento de textos ( Word ), plantilla de cálculo ( Excel ) y programa para presentaciones ( PowerPoint) . • PDF ( Portable Document Format ) es un formato de almacenamiento de documentos, desarrollado por la empresa Adobe Systems. Este formato es de tipo compuesto (imágenes y texto).

  3. Response. ¿ Qué es ?. • Este objeto ASP es del tipo integrado, es decir no tenemos que crear una instancia del mismo para poder utilizarlo, su función es enviar información al cliente (navegador).

  4. Response. Métodos Principales. • Response.Write (cadena). Envía la cadena de caracteres al cliente. • Response.Redirect (Url). Redirige la página ASP a la URL especificada. • Response.Flush. Envía de inmediato los datos del buffer. • Response.Clear. Borra los datos del buffer. • Response.AddHeader. Se pueden mandar más tipos de encabezamientos del http como la fecha de modificación del documento (LAST-MODIFIED) o el tiempo en el que se tiene que realizar un refresco de la página (REFRESH). • Response.Cache.SetCacheability. Nos van a permitir definir si queremos que no se traiga las páginas 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.

  5. Response. Métodos Principales. • Response.ContentType("String").Es una propiedad que especifica el tipo de contenido del request HTTP, que puede incluir un tipo/subtipo en la cabecera de la respuesta. El tipo siempre es de contenido general y el subtipo es específico. El valor por defecto es text/HTML. • Response.End. Método que detiene la ejecución de la página, la termina. • Response.Buffer. Es una propiedad que si está a true (la opción por defecto en ASP 3.0) indica al servidor que debe utilizar el buffer. Si está a false (opción por defecto para versiones anteriores de ASP) no lo utiliza.

  6. Exportar a MS Excel //Se carga el contenido del archivo en memoria antes de enviarlo al cliente Response.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 método RenderControl, el cual acepta un HtmlTextWriter como parámetro, y sobre el cual se realiza el reenderezado. Para obtener el HtmlTextWriter lo que hago es crear primero un StringBuilder, un StringWriter sobre éste, y finalmente un HtmlTextWriter que trabaje sobre el StringWriter. */ //StringWriter Nos permite escribir información 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 control de servidor ASP.NET. Esta clase proporciona funciones de aplicación de formato. System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); ContenidoGridView().RenderControl(htmlWrite); //Escribimos el HTML en el Explorador Response.Write(stringWrite.ToString()); //Terminamos el Response. Response.End();

  7. P.I.A ( Primary Interop Assemblies ) • Los ensamblados de interoperabilidad COM permiten que el código no administrado (COM) se llame desde código administrado (.NET) mediante Microsoft .NET Framework y el módulo de tiempo de ejecución de lenguaje común. • 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 montón de opciones para trabajar con datos de Excel, tanto de lectura y escritura, permitiéndonos exportar ó crear archivos Excel con facilidad.

  8. Exportar a MS Excel ( 2 formas ) Ejemplo 1

  9. Exportar a MS Word //Se carga el contenido del archivo en memoria antes de enviarlo al cliente Response.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 Explorador Response.Write(stringWrite.ToString()); //Terminamos el Response. Response.End();

  10. Exportar a MS PowerPoint //Se carga el contenido del archivo en memoria antes de enviarlo al cliente Response.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 Explorador Response.Write(stringWrite.ToString()); //Terminamos el Response. Response.End();

  11. Exportar a MS Word y MS PowerPoint Ejemplo 2

  12. Exportar a pdf ( Adobe Reader). • ¿Que es iTextSharp? • iTextSharp, es una *.dll que nos brinda ciertas funcionalidades que nos ayudarán en la creación de documentos txt, rtf, doc, pdf, html y xml, como también poder agregar algunas propiedades con valores como fuente, márgenes, tamaño de página, estilo de página, presentación inicial... • No menos importante destacar que se trata de un proyecto de código abierto, es decir, esta librería es totalmente gratuita.

  13. Exportar a pdf ( Adobe Reader). • ¿ Cómo 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 al vuelo")); document.Close();

  14. Exportar a pdf ( Adobe Reader). Con esto ya tenemos nuestro primer PDF. • Creamos un objeto de tipo Document. Es nuestro PDF. • Invocamos al método estático GetInstance de la clase PdfWriter - como argumentos recibe el documento que acabamos de crear y un Stream. En este caso utilizamos un FileStream pero podríamos haber usado cualquier Stream que admita escritura como por ejemplo MemoryStream.  • Abrimos el documento con el método Open. • Le añadimos un párrafo con Add. Debemos darnos cuenta que el método Add recibe como parámetro una interface -IElement. Esto nos va a simplificar enormemente el trabajo. • Cerramos el documento con Close. • ¡Que difícil! Con esto ya tenemos creado el archivo en la ruta indicada al FileStream (en mi caso la misma ruta que el ejecutable).

  15. Exportar a Adobe Reader Ejemplo 3

  16. Bibliografía • En Español: http://www.mistrucos.net/truco-asp-net-exportar-datagrid-excel-609.htm Tutorial que nos explica como exportar un datagrid a un archivo excel utlizando el objeto response. Buen ejemplo, aunque teoricamente escaso. http://spar.unicauca.edu.co/celulaunicauca/blogs/tecnologia/archive/2007/ 08/27/habia-una-ves.aspx Tutorial que nos explica como exportar un dataTable a excel basandose en los ensamblados de interoperabilidad. Buen ejemplo, aunque teoricamente escaso. • En Inglés: http://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309so_l/ asp200309so_l.asp Genial tutorial que nos explica muy detalladamente como exportar un dataTable a Excel. Completo teóricamente y buenos ejemplos.

More Related