ASP.NET MVC / C # – Comment convertir / créer Excel (xls) avec un formatting à partir de DataTable / List dans MVC?

J'ai pu créer un file Excel xls à partir de DataTable suite à ce lien . Mais comment formater le contenu du file XLS?

Merci.

J'ai personnellement utilisé NPOI avec de bons résultats.

En utilisant cette technique, vous ne pouvez pas formater le contenu. Vous devrez générer un véritable file binary Excel à l'aide d'un contrôle tiers à cette fin. Il vaut la peine d'être vérifié . Vous pouvez également jeter un oeil à cet article .

La solution dans ce lien crée simplement un file de valeurs séparé par des tabs, qui ne peut contenir que datatables de la cellule et non les informations de formatting. Si vous avez besoin du formatting, vous devez soit save le balisage HTML avec une extension de .xls (pas une approche que je reorderais normalement), soit créer un file Excel "authentique" … mais je ne sais pas quelle bibliothèque les options que vous avez en C # pour le faire (autrement que l'utilisation de .net

Cependant, il existe un certain nombre de bibliothèques répertoriées dans les réponses à cette question précédente

Si vous préférez éviter les bibliothèques tierces, vous avez deux autres alternatives raisonnables:

Personnellement, je suis un fan de SpreadsheetML (l'un des formats supportés par Excel 2003+), car il est relativement facile de générer manuellement un seul à partir de zéro. Créez simplement un file qui semble correct et enregistrez au format SpreadsheetML, puis utilisez-le comme guide lors de la génération de votre propre.


Une alternative est de commencer par un document Excel "propre" préformé (avec des en-têtes de table mais pas de données). Vous pouvez ensuite insert des lignes de données en utilisant le fournisseur Jet.OLEDB.

Cela présente de nombreux inconvénients sur l'utilisation d'une bibliothèque tierce partie:
1. Impossible de formater datatables que vous insérez. Permet uniquement le formatting des en-têtes des arrays, etc.
2. Problèmes de compatibilité sur certaines versions de Windows.
3. Gère mal certains types de données.

Il a quelques avantages par rapport à l'utilisation d'une bibliothèque tierce partie:
1. De Microsoft. Moins de bugs, gratuits, less de risques de codes malveillants.
2. Très simple à utiliser, en supposant que vous êtes déjà à l'aise de travailler avec SQL.