>백엔드 개발 >C++ >EPPlus를 사용하여 ASP.NET MVC 응용 프로그램에서 Excel로 데이터를 효율적으로 내보내는 방법은 무엇입니까?

EPPlus를 사용하여 ASP.NET MVC 응용 프로그램에서 Excel로 데이터를 효율적으로 내보내는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-05 15:24:39634검색

How to Efficiently Export Data to Excel from an ASP.NET MVC Application Using EPPlus?

데이터를 Excel로 내보내는 방법

개요

이 질문은 ASP.NET MVC 응용 프로그램에서 Excel로 데이터를 내보내는 데 중점을 둡니다. 제공된 가이드에서는 HTML에서 Excel로의 변환 접근 방식을 제안하지만 이 기사에서는 적절한 Excel 파일을 만들기 위해 Excel 패키지 라이브러리인 EPPlus를 사용하는 방법을 살펴봅니다.

Excel 생성을 위해 EPPlus 사용

EPPlus는 다음과 같은 기능을 제공합니다. LoadFromDataTable 및 LoadFromCollection과 같은 메서드를 사용하여 Excel 범위를 데이터로 채웁니다. 다음은 Excel 파일 생성의 예입니다.

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

    var stream = new MemoryStream();
    package.SaveAs(stream);

    string fileName = "myfilename.xlsx";
    string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

    stream.Position = 0;
    return File(stream, contentType, fileName);
}

형식 지정 및 스타일

EPPlus에서는 형식을 지정하고 내보낸 데이터에 테이블 스타일을 적용할 수 있습니다. 예:

var range = ws.Cells["A1"].LoadFromDataTable(table);
range.Style.Numberformat.Format = "#,##0.00";
range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right;

ws.Cells[1,1].LoadFromDataTable(table, true, TableStyles.Light1);

EPPlus에 대한 사용자 정의 파일 결과

스트림 처리 문제를 방지하려면 사용자 정의 FileResult 클래스를 생성하여 EPPlus 패키지 응답을 관리할 수 있습니다.

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

        Package = package;
    }

    public ExcelPackage Package { get; private set; }

    protected override void WriteFile(HttpResponseBase response)
    {
        Stream outputStream = response.OutputStream;
        using (Package)
        {
            Package.SaveAs(outputStream);
        }
    }
}

액션 컨트롤러 구현

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

    return new EpplusResult(package) { FileDownloadName = "SomeFile.xlsx" };
}

위 내용은 EPPlus를 사용하여 ASP.NET MVC 응용 프로그램에서 Excel로 데이터를 효율적으로 내보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.