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
Linda Hamiltonoriginal
2025-01-06 02:18:40936parcourir

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

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; }
}

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" };
}

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" };
}

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!

Déclaration:
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