Maison > développement back-end > C++ > Comment exporter efficacement des données vers Excel à partir d'ASP.NET MVC à l'aide d'EPPlus ?

Comment exporter efficacement des données vers Excel à partir d'ASP.NET MVC à l'aide d'EPPlus ?

Linda Hamilton
Libérer: 2025-01-06 02:18:40
original
873 Les gens l'ont consulté

How to Efficiently Export Data to Excel from ASP.NET MVC using EPPlus?

Comment exporter efficacement des données vers Excel dans ASP.NET MVC

Le guide fourni tente d'exporter des données vers Excel en utilisant un HTML moins efficace -approche basée. Pour créer un fichier Excel approprié, il est recommandé d'utiliser une bibliothèque comme EPPlus.

Bibliothèque EPPlus

EPPlus fournit les méthodes LoadFromDataTable et LoadFromCollection pour remplir une plage Excel avec des données. . Voici comment l'implémenter dans votre code :

Code :

using (ExcelPackage package = new ExcelPackage())
{
    var ws = package.Workbook.Worksheets.Add("My Sheet");
    //true generates headers
    ws.Cells["A1"].LoadFromDataTable(dataTable, true);
}
Copier après la connexion

Par défaut, les noms de colonnes ou de propriétés seront utilisés comme en-têtes. Vous pouvez également appliquer une mise en forme, des styles de tableau et bien plus encore à l'aide de la bibliothèque EPPlus.

Enregistrement dans un fichier

Pour enregistrer le fichier Excel, créez un FileResult personnalisé appelé EpplusResult :

Code :

public class EpplusResult:FileResult
{
    public EpplusResult(ExcelPackage package) : base("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
    {
        Package = package;
    }

    public ExcelPackage Package { get; private set; }
}
Copier après la connexion

Cela vous permet d'écrire l'action suivante :

Code :

public FileResult ExportData()
{
    ExcelPackage package = new ExcelPackage();
    var ws = package.Workbook.Worksheets.Add("My Sheet");       
    // Load data to the worksheet
    ws.Cells[1, 1].LoadFromDataTable(table, true, TableStyles.Light1);

    return new EpplusResult(package) { FileDownloadName = "SomeFile.xlsx" };
}
Copier après la connexion

Bonus : Exporter les données paginées

Pour exporter les données paginées avec PagedList, vous pouvez modifier le action :

Code :

public ActionResult ExportData()
{
    var pagedList = db.Customers.ToPagedList(pageNumber, pageSize);

    ExcelPackage package = new ExcelPackage();
    var ws = package.Workbook.Worksheets.Add("My Sheet");       
    ws.Cells[1, 1].LoadFromCollection(pagedList, true, TableStyles.Light1);

    return new EpplusResult(package) { FileDownloadName = "Customers.xlsx" };
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal