Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengeksport Data dengan Cekap ke Excel daripada ASP.NET MVC menggunakan EPPlus?

Bagaimana untuk Mengeksport Data dengan Cekap ke Excel daripada ASP.NET MVC menggunakan EPPlus?

Linda Hamilton
Linda Hamiltonasal
2025-01-06 02:18:40874semak imbas

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

Cara Mengeksport Data ke Excel dengan Berkesan dalam ASP.NET MVC

Panduan yang disediakan cuba mengeksport data ke Excel menggunakan HTML yang kurang cekap -pendekatan berasaskan. Untuk mencipta fail Excel yang betul, adalah disyorkan untuk menggunakan perpustakaan seperti EPPlus.

Perpustakaan EPPlus

EPPlus menyediakan kaedah LoadFromDataTable dan LoadFromCollection untuk mengisi julat Excel dengan data . Begini cara untuk melaksanakannya dalam kod anda:

Kod:

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

Secara lalai, nama lajur atau sifat akan digunakan sebagai pengepala. Anda juga boleh menggunakan pemformatan, gaya jadual dan banyak lagi menggunakan perpustakaan EPPlus.

Menyimpan ke Fail

Untuk menyimpan fail Excel, buat FileResult tersuai yang dipanggil EpplusResult:

Kod:

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

    public ExcelPackage Package { get; private set; }
}

Ini membolehkan anda menulis tindakan berikut:

Kod:

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: Mengeksport Paged Data

Untuk mengeksport data berhalaman dengan PagedList, anda boleh mengubah suai tindakan:

Kod:

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

Atas ialah kandungan terperinci Bagaimana untuk Mengeksport Data dengan Cekap ke Excel daripada ASP.NET MVC menggunakan EPPlus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn