Generar fichero excel desde ASP, ASP .NET y PHP

Microsoft Excel es una herramienta muy potente que no sólo permite abrir ficheros en formato propio de Excel, sino también ficheros csv separados por comas, separados por tabuladores, e incluso tablas HTML entre otros formatos.
Los usuarios suelen exportar continuamente datos a Excel para usarlos en el futuro. Por ello puede que sea interesante incluir esta opción en nuestra web ASP.NET.
Para hacerlo podemos utilizar las siguientes líneas:
   this.EnableViewState = false;
   Response.Clear();
   Response.ContentType = "application/vnd.ms-excel";
   Response.AppendHeader("content-disposition", "filename=ficheroExcel.xls");
El ContentType por defecto en el caso de las páginas web ASP.NET es «text/HTML«; al cambiarlo por «application/vnd.ms-excel» hacemos que el navegador entienda que el contenido debe abrirse utilizando Microsoft Excel. Antes de ello debemos utilizar el método Response.Clear() para limpiar el buffer de salida HTML.Por último, podemos pintar la tabla que vamos a exportar a Excel en formato HTML  utilizando las etiquetas table, tr y td de toda la vida.

En general, Excel puede reconocer automáticamente números o cadenas de caracteres, pero en ocasiones puede ser necesario forzar, por ejemplo, a que determinadas celdas que contienen números sean consideradas como texto.Para ello, podemos utilizar por ejemplo las siguientes líneas después de la llamada al método Clear.

   Response.Write("<html><head><style type=\"text/css\">");
   Response.Write(" .num {mso-number-format:General;} ");
   Response.Write(" .codtxt {mso-number-format:\"\\@\";text-align:right} ");
   Response.Write("</style></head><body>");
Con el código anterior añadimos la clase css «codtxt» a la hoja de estilos, que obliga a Excel a interpretar una celda como texto y alinea el dato a la derecha. Podemos emplear esa clase en todas las celdas que queramos tratar como texto a la hora de pintar la tabla.En el siguiente enlace podéis consultar una lista de posibles formatos:
http://cosicimiento.blogspot.com.es/2008/11/styling-excel-cells-with-mso-number.html

Nuestra puntuación
Twittear
Compartir
Compartir
Pin