2011-11-30 37 views
5

Preguntar qué es una buena biblioteca que puedo usar con VS2005 para exportar datos a un archivo de Excel. El archivo tiene algunos formatos, como colores de fondo y colspans.ASP.Net Exportar datos a Excel

Gracias

Respuesta

1

he utilizado esta biblioteca en el pasado, pero que normalmente acaba de escupir un archivo CSV.

C# class library for exporting data to CSV/Excel file

+0

Vi esa biblioteca también. ¿Puedes formatear con esa biblioteca? Es decir, crear colores de fondo, cambiar la fuente del texto para algunas columnas, etc. – MindGame

+0

No estoy seguro, lo dudo, parece que podría necesitar una solución de informes como SQL Reporting Services, Active Reports ... etc –

2

Aquí hay un código que utiliza un truco para HTML de salida a un archivo de Excel. Descubrí que puede engañar a Excel para que abra un código HTML estableciendo el tipo de contenido del resultado en "aplicación/excel".

En el siguiente código secresults es un div HTML así:

<div id="secresults" runat="server" visible="false" class="secresults"> 
Content or data here. 
</div> 

En código detrás:

Response.ClearContent(); 
string filename = "Output" + istartDate.ToShortDateString() + ".xls"; 
Response.AddHeader("content-disposition", "attachment; filename=" + filename + ";"); 
Response.ContentType = "application/excel"; 
StringWriter sw = new StringWriter(); 
HtmlTextWriter htw = new HtmlTextWriter(sw); 

secresults.RenderControl(htw); 


Response.Write(sw.toString()); 
Response.End(); 

he encontrado que se pueden utilizar algunas de formato HTML en Excel. Para probar qué formato puede usar, puede crear un archivo html y cambiarle el nombre a un archivo .xls, luego ábralo con Excel. Puede hacerse una idea bastante buena de lo que HTML Excel leerá.

+0

Nice. No sabía que podrías hacer eso. – MindGame

1

Si tiene un diseño predefinido del documento, Templater probablemente se ajuste a su descripción.

Eche un vistazo a example sobre cómo usarlo.

1

He usado este codeplex project (Excel Package). Una técnica es comenzar con una plantilla formateada, luego modificar la plantilla. Eso es mucho más fácil que aplicar muchos comandos de estilo comenzando con una hoja de cálculo vacía.

3

Recomendaría tomar la clase del siguiente sitio web y adaptarlo a sus necesidades.

Mikes Knowledge Base - ExportToExcel

Por defecto, esta clase tiene un conjunto de datos, DataTable o Lista <>, y las exportaciones en un archivo .xlsx genuina Excel 2007, utilizando las bibliotecasOpenXML (también proporcionan).

Actualmente, no intenta agregar ningún formato a las celdas de Excel (¡DataTables solo almacena valores, no formateos, colores, alineación horizontal, etc.) pero debería ser un buen lugar para comenzar.

Todo el código fuente se proporciona, sin cargo, para que pueda adaptarlo según sea necesario.

¡Buena suerte!

Cuestiones relacionadas