2011-11-30 4 views
5

Vous vous demandez ce qu'est une bonne bibliothèque que je peux utiliser avec VS2005 pour exporter des données vers un fichier Excel. Le fichier a une certaine mise en forme comme les couleurs d'arrière-plan et les colspans.ASP.Net Exporter des données vers Excel

Merci

Répondre

1

J'ai utilisé cette bibliothèque dans le passé, mais je normalement juste cracher un fichier CSV.

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

+0

J'ai vu cette bibliothèque aussi. Pouvez-vous faire un formatage avec cette bibliothèque? Signification créer des couleurs d'arrière-plan, modifier la police du texte pour certaines colonnes, etc. – MindGame

+0

Pas sûr, je doute, semble que vous pourriez avoir besoin d'une solution de reporting comme SQL Reporting Services, Active Reports ... etc –

2

Voici un code qui utilise une astuce pour la sortie HTML vers un fichier Excel. J'ai trouvé que vous pouvez tromper exceller dans l'ouverture d'un HTML en définissant le type de contenu de la sortie à "application/excel".

Dans le code ci-dessous secresults est un div HTML comme ceci:

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

Dans le code derrière:

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(); 

J'ai trouvé que vous pouvez utiliser un formatage HTML dans Excel. Pour tester le formatage que vous pouvez utiliser, vous pouvez créer un fichier html et le renommer en fichier .xls, puis l'ouvrir avec Excel. Vous pouvez avoir une bonne idée de ce que HTML Excel va lire.

+0

Nice. Je ne savais pas que tu pouvais faire ça. – MindGame

1

Si vous avez une disposition prédéfinie du document, Templater correspondra probablement à votre description.

Jetez un oeil à la example sur la façon de l'utiliser.

1

J'ai utilisé ce codeplex project (Excel Package). Une technique consiste à commencer avec un modèle formaté, puis à modifier le modèle. C'est beaucoup plus facile que d'appliquer beaucoup de commandes de style en commençant par une feuille de calcul vide.

3

Je vous recommande de prendre le cours sur le site suivant et de l'adapter à vos besoins.

Mikes Knowledge Base - ExportToExcel

Par défaut, cette classe prend un DataSet, DataTable Liste <>, et exporte dans un fichier .xlsx véritable Excel 2007, en utilisant les OpenXML bibliothèques (également fourni).

Actuellement, il ne tente pas d'ajouter de formatage aux cellules Excel (les DataTables ne stockent que des valeurs, pas de formatage, de couleurs, d'alignement horizontal, etc.) mais ce devrait être un bon point de départ.

Tout le code source est fourni, gratuitement, de sorte que vous pouvez l'adapter au besoin.

Bonne chance!

Questions connexes