푸터 콘텐츠로 바로가기
IRONXL 사용하여

Razor Pages에서 Excel 파일을 생성하는 방법

Razor Pages는 웹 페이지를 구축하는 데 현대적인 접근 방식을 제공합니다. Razor Pages에서는 웹 페이지를 렌더링하는 소스 코드가 서버 측 페이지에 의해 생성되는 것이 아니라 C#으로 작성됩니다.

Excel 파일을 효율적으로 작업하려면 POI 자바 프로젝트 NPOI 패키지(주로 파워포인트 파일에 사용됨) 및 Office Interop과 같은 다른 것들보다 IronXL 라이브러리를 추천합니다. IronXL은 Microsoft Office가 필요하지 않으며 여러 .NET 버전을 지원하는 기능이 풍부하고 사용하기 쉬운 라이브러리입니다.

이 문서에서는 Razor Pages에서 더미 데이터 및 행 머리글이 포함된 Excel 스프레드시트를 생성 및 내보내는 방법을 IronXL C# 라이브러리를 사용하여 설명합니다.

IronXL: C# Excel 라이브러리

IronXL은 대량 데이터 세트 작업을 위한 병렬 처리를 사용하여 컴퓨팅 파워를 증가시키는 메서드 및 기능을 제공합니다. 내부 작동 방식을 이해할 필요가 없으므로 사용이 간편하고 XLS 및 XLSX 파일 모두를 지원합니다.

IronXL은 Excel 수식 생성 및 Microsoft Office를 설치할 필요 없이 오피스 문서를 가져오고 내보내는 데 이상적입니다.

IronXL을 사용하여 Razor Pages에서 Excel 파일을 가져오고 내보내는 방법 배우기.

Razor Pages에서 Excel 파일 생성

Razor Pages에서 Excel 시트를 생성하려면 Visual Studio를 열고 ASP.NET Core 웹 애플리케이션을 생성하고 IronXL을 설치하십시오.

필수 조건

Razor Pages에서 Excel 파일을 생성하기 위해 다음을 설정해야 합니다:

  1. Visual Studio(최신 버전)
  2. .NET Framework 6 또는 7
  3. Visual Studio의 .NET Core 웹 애플리케이션

IronXL 라이브러리 설치

NuGet 패키지 관리자 콘솔을 사용하여 IronXL 설치. .NET Core 웹 애플리케이션에 라이브러리를 설치하기 위해 이 명령어 입력:

Install-Package IronXl.Excel

Excel 파일 생성 코딩

코드를 작성하는 방법은 다음과 같습니다. Pages 폴더에서 "Index.cs"를 열고 다음 메서드를 추가하십시오:

public FileResult OnPostExport()
{
    // Create a new WorkBook with XLSX format
    WorkBook workBook = new WorkBook(IronXl.ExcelFileFormat.XLSX);
    // Create a new WorkSheet named "data"
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add headers to the new worksheet
    workSheet["A1"].Value = "Product EN";
    workSheet["B1"].Value = "SKU";
    workSheet["C1"].Value = "Customer";

    // Make header text bold
    workSheet["A1:C1"].Style.Font.Bold = true;

    // Add dummy data to the worksheet
    workSheet["A2"].Value = "Iron Rods";
    workSheet["A3"].Value = "Mobile Phones";
    workSheet["A4"].Value = "Chargers";

    workSheet["B2"].Value = "105";
    workSheet["B3"].Value = "285";
    workSheet["B4"].Value = "301";

    workSheet["C2"].Value = "Adam";
    workSheet["C3"].Value = "Ellen";
    workSheet["C4"].Value = "Tom";

    // Convert the WorkBook to a byte array Stream for download
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
public FileResult OnPostExport()
{
    // Create a new WorkBook with XLSX format
    WorkBook workBook = new WorkBook(IronXl.ExcelFileFormat.XLSX);
    // Create a new WorkSheet named "data"
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add headers to the new worksheet
    workSheet["A1"].Value = "Product EN";
    workSheet["B1"].Value = "SKU";
    workSheet["C1"].Value = "Customer";

    // Make header text bold
    workSheet["A1:C1"].Style.Font.Bold = true;

    // Add dummy data to the worksheet
    workSheet["A2"].Value = "Iron Rods";
    workSheet["A3"].Value = "Mobile Phones";
    workSheet["A4"].Value = "Chargers";

    workSheet["B2"].Value = "105";
    workSheet["B3"].Value = "285";
    workSheet["B4"].Value = "301";

    workSheet["C2"].Value = "Adam";
    workSheet["C3"].Value = "Ellen";
    workSheet["C4"].Value = "Tom";

    // Convert the WorkBook to a byte array Stream for download
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
$vbLabelText   $csharpLabel

이 코드에서는 새로운 Excel WorkBook이 만들어지며 하나의 WorkSheet을 포함합니다. 시트에는 더미 데이터가 채워져 있으며, 생성된 파일을 서버에 다음과 같이 응답합니다:

  • WorkBook은 파일로 다운로드하기 위해 Stream로 변환됩니다.
  • MIME 유형이 설정됩니다.
  • 파일 다운로드 이름이 지정됩니다.

Excel 파일을 다운로드할 버튼 만들기

"Index.cshtml"에서 기존 코드를 다음으로 대체:

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# that allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# that allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
HTML

이 HTML은 "Export"로 설정된 asp-page-handler로 폼을 생성하여 사용자가 "Excel 파일 생성!" 버튼을 클릭할 때 Excel 파일을 로컬 머신으로 내보내는 응용 프로그램을 활성화하고 브라우저 다운로드를 트리거합니다.

프로젝트 실행

프로젝트를 실행하고 브라우저에서 화면을 볼 수 있습니다. 녹색 버튼을 클릭하여 Excel 파일을 다운로드합니다.

Razor Pages에서 Excel 파일 생성 방법, 그림 1: IronXL 생성 Excel 시트 IronXL Excel 시트 생성

"Excel 파일 생성"을 클릭한 후 파일이 다운로드됩니다.

Razor Pages에서 Excel 파일 생성 방법, 그림 2: IronXL 다운로드된 파일 IronXL 다운로드된 파일

생성된 Excel 파일 열기

생성된 Excel 파일의 내용은 코드의 출력과 정확한 서식으로 일치합니다. 생성된 Excel 파일의 스냅샷이 아래에 표시됩니다.

Razor Pages에서 Excel 파일 생성 방법, 그림 3: IronXL 생성된 파일 IronXL 생성된 파일

경쟁사보다 뛰어난 IronXL

IronXL은 XLS 및 XLSX 형식을 제한 없이 다룰 수 있는 탁월한 도구로, Java 기반이어서 느린 NPOI와는 달리 C# 기반입니다. 대규모 또는 다중 스프레드시트를 생성하는 ASP.NET Core 응용 프로그램에서는 POI보다 IronXL을 선택하십시오.

IronXL을 사용하면 Microsoft Office 없이도 Excel 파일을 생성하고 편집할 수 있습니다. Microsoft Interop과 달리 IronXL은 Excel 작업이나 내보내기를 위해 Microsoft Excel의 ActiveX를 호출할 필요가 없습니다. 또한 CSV 파일을 Excel 형식으로 내보내는 것도 가능합니다.

IronXL은 Excel 파일과 상호작용할 수 있는 방대한 기능을 제공하며, 인기 형식 간 변환, 수학 함수 삽입, 차트 추가 및 이미지 삽입을 포함합니다.

결론

이 글에서는 IronXL을 사용하여 Razor Pages에서 Excel 파일을 생성하고 Microsoft Excel ActiveX 없이 파일을 다운로드하는 방법을 보여줍니다.

더 많은 Excel 파일 생성 튜토리얼을 탐색하세요.

IronXL은 비상업적 개발에 무료로 제공됩니다. 프로덕션 테스트를 위한 무료 체험이 가능합니다. 더 많은 가격 및 라이선스 세부 정보는 가격 계획을 참조하십시오.

자주 묻는 질문

Interop을 사용하지 않고 Razor Pages에서 Excel 파일을 생성하려면 어떻게 해야 하나요?

IronXL 라이브러리를 사용하면 Interop을 사용하지 않고도 Razor Pages에서 Excel 파일을 생성할 수 있습니다. 이 라이브러리를 사용하면 Microsoft Office 없이도 C#에서 직접 Excel 파일을 생성하고 조작할 수 있습니다. 예를 들어, 통합 문서를 만들고 워크시트에 데이터를 추가할 수 있습니다.

Razor Pages 프로젝트에 IronXL 설치하는 데 필요한 단계는 무엇입니까?

Razor Pages 프로젝트에 IronXL 설치하려면 Visual Studio의 NuGet 패키지 관리자 콘솔을 사용하면 됩니다. Install-Package IronXl.Excel 명령을 실행하여 라이브러리를 프로젝트에 추가하세요.

IronXL 사용하여 Razor Pages 애플리케이션에서 데이터를 내보낼 수 있습니까?

네, IronXL 사용하면 Razor Pages 애플리케이션에서 데이터를 내보낼 수 있습니다. 데이터를 Excel 형식으로 변환한 다음 Razor Pages를 사용하여 해당 데이터를 다운로드 가능한 파일로 클라이언트에 다시 전송할 수 있습니다.

Excel 파일을 생성할 때 Microsoft Interop 대신 IronXL 사용하면 어떤 이점이 있습니까?

IronXL Microsoft Interop에 비해 더 빠른 성능, Microsoft Office 설치 불필요, 병렬 처리를 통한 대규모 데이터 세트의 효율적인 처리 기능 등 여러 가지 이점을 제공합니다.

IronXL 사용하여 Razor Pages에서 대규모 Excel 데이터 세트를 처리하는 것이 가능할까요?

네, IronXL 대규모 Excel 데이터 세트를 효율적으로 처리할 수 있습니다. 병렬 처리를 지원하여 방대한 데이터를 처리할 때 성능과 속도를 향상시킬 수 있습니다.

IronXL 다양한 Excel 파일 형식을 지원합니까?

IronXL XLS 및 XLSX 파일 형식을 모두 지원하므로 데이터 가져오기, 내보내기 및 서식 지정을 포함한 포괄적인 Excel 파일 조작이 가능합니다.

IronXL 개발에 무료로 사용할 수 있는 옵션이 있나요?

IronXL 비상업적 개발 목적으로 무료로 사용할 수 있습니다. 제품 테스트를 위한 무료 평가판이 제공되며, 상업적 용도를 위한 다양한 가격 플랜이 마련되어 있습니다.

IronXL 사용하여 Razor Pages에서 Excel 파일 다운로드를 어떻게 실행할 수 있나요?

IronXL 사용하여 Razor Pages에서 Excel 파일 다운로드를 트리거하려면 WorkBook 생성하고 데이터를 채운 다음 바이트 배열로 변환합니다. Razor Pages의 File 메서드를 사용하여 바이트 배열을 다운로드 가능한 파일로 사용자에게 스트리밍합니다.

IronXL NPOI와 같은 다른 라이브러리보다 선호되는 이유는 무엇입니까?

IronXL 네이티브 C# 구현으로 인해 더 빠른 성능, 사용 편의성, Java 구성 요소에 대한 의존성이 없어 NPOI와 같은 라이브러리보다 선호되는 경우가 많으며, 따라서 ASP.NET Core 애플리케이션에 이상적입니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me