IRONXL 사용하여 C#에서 DataGridView를 열 머리글과 함께 Excel로 내보내기 커티스 차우 업데이트됨:3월 1, 2026 다운로드 IronXL NuGet 다운로드 DLL 다운로드 무료 체험 시작하기 LLM용 사본 LLM용 사본 LLM용 마크다운 형식으로 페이지를 복사하세요 ChatGPT에서 열기 ChatGPT에 이 페이지에 대해 문의하세요 제미니에서 열기 제미니에게 이 페이지에 대해 문의하세요 Grok에서 열기 Grok에게 이 페이지에 대해 문의하세요 혼란 속에서 열기 Perplexity에게 이 페이지에 대해 문의하세요 공유하다 페이스북에 공유하기 트위터에 공유하기 LinkedIn에 공유하기 URL 복사 이메일로 기사 보내기 C#에서 열 머리글과 함께 DataGridView를 Excel로 내보내는 방법은 무엇입니까? Windows Forms DataGridView 컨트롤에서 Excel 형식으로 데이터를 내보내는 것은 일반적인 요구사항이지만 개발자는 종종 좌절감을 겪습니다: 내보낸 파일에 열 머리글이 없습니다. DataGridView를 열 머리글과 함께 Excel로 내보낼 필요가 있을 때, 솔루션은 모든 데이터와 서식을 신뢰성 있게 보존해야 합니다. Microsoft Office Interop을 사용하는 전통적인 접근법은 느리고 불안정할 수 있으며, 코드를 실행하는 모든 기기에 MS Excel이 설치되어야 합니다. IronXL은 이 문제를 깔끔하게 해결합니다. 이는 Office 종속성 없이 Excel 파일을 읽고 생성하며 작성하는 .NET Excel 라이브러리입니다. 이 튜토리얼은 열 머리글, 데이터 유형, null 셀, 사용자 친화적인 파일 저장을 몇 줄의 코드로 처리하는 전체 내보내기 솔루션을 안내합니다. 결국, 당신은 열 머리글이 모두 포함된 XLSX 파일로 DataGridView를 내보내는 작동하는 Windows Forms 버튼 핸들러를 가지게 될 것입니다. 시작하기 전에 필요한 것 코드를 작성하기 전에 다음이 준비되어 있는지 확인하십시오: Visual Studio 2022 이상 (모든 에디션) .NET 10 SDK 설치됨 .NET 10을 대상으로 하는 Windows Forms 애플리케이션 프로젝트 IronXL 설치를 위한 NuGet 액세스 아래 예제는 최상위 문장과 최신 .NET 10 프로젝트 구조를 사용합니다. .NET 프로젝트에서 라이브러리를 설치하는 방법은? Visual Studio에서 NuGet 패키지 관리자 콘솔을 열고 다음 명령 중 하나를 실행합니다. 패키지는 NuGet 갤러리에 목록화되어 있으며 .NET Standard 2.0 이상을 대상으로 하므로, 모든 최신 .NET 프로젝트에서 작동합니다. Install-Package IronXL Install-Package IronXL SHELL dotnet add package IronXL dotnet add package IronXL SHELL 설치 후, 양식 파일의 상단에 필요한 네임스페이스를 추가합니다: using IronXL; using System; using System.Data; using System.Windows.Forms; using IronXL; using System; using System.Data; using System.Windows.Forms; $vbLabelText $csharpLabel 이 가져오기는 IronXL의 Excel 기능, DataTable 작업 및 내보내기 프로세스에 필요한 Windows Forms 컨트롤에 대한 접근을 제공합니다. 샘플 데이터로 DataGridView를 설정하는 방법은? Visual Studio에서 Windows Forms 응용 프로그램을 생성합니다. 디자이너를 통해 주 폼에 이름이 dataGridView1인 DataGridView와 이름이 btnExport인 버튼을 추가합니다. 그런 다음 양식 로드 시 그리드를 채웁니다: using System; using System.Data; using System.Windows.Forms; public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); // Define columns -- these names become Excel headers dt.Columns.Add("Product ID", typeof(int)); dt.Columns.Add("Product Name", typeof(string)); dt.Columns.Add("Price", typeof(decimal)); dt.Columns.Add("Stock Quantity", typeof(int)); // Add sample rows dt.Rows.Add(1001, "Laptop", 999.99m, 15); dt.Rows.Add(1002, "Mouse", 29.99m, 50); dt.Rows.Add(1003, "Keyboard", 79.99m, 30); dt.Rows.Add(1004, "Monitor", 299.99m, 12); dt.Rows.Add(1005, "Headphones", 89.99m, 25); // Bind data to the grid dataGridView1.DataSource = dt; } } using System; using System.Data; using System.Windows.Forms; public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); // Define columns -- these names become Excel headers dt.Columns.Add("Product ID", typeof(int)); dt.Columns.Add("Product Name", typeof(string)); dt.Columns.Add("Price", typeof(decimal)); dt.Columns.Add("Stock Quantity", typeof(int)); // Add sample rows dt.Rows.Add(1001, "Laptop", 999.99m, 15); dt.Rows.Add(1002, "Mouse", 29.99m, 50); dt.Rows.Add(1003, "Keyboard", 79.99m, 30); dt.Rows.Add(1004, "Monitor", 299.99m, 12); dt.Rows.Add(1005, "Headphones", 89.99m, 25); // Bind data to the grid dataGridView1.DataSource = dt; } } $vbLabelText $csharpLabel dt.Columns.Add(...) 호출에 정의된 컬럼 이름은 내보낸 Excel 파일의 헤더 행이 됩니다. 여기에서 데이터 소스를 대체할 수 있습니다 -- 데이터베이스 쿼리 결과, CSV 가져오기, 또는 DataTable로 저장된 API 응답 등 모든 것이 이후에 제시된 내보내기 코드와 동일하게 작동합니다. DataTable 접근 방식은 특히 편리한데, DataGridView가 모든 IList 또는 IBindingList를 허용하는 DataSource 속성을 노출하므로 같은 내보내기 코드가 수정 없이 모든 바인딩 시나리오에 일반화됩니다. DataGridView가 SqlDataAdapter를 사용하여 데이터베이스에서 채워지는 경우, DataTable은 이미 형식화된 열을 포함합니다. 형식화된 값을 ToString() 호출 대신 SetCellValue에 전달하면 Excel 출력에서 숫자 열이 숫자로 유지됩니다. 이는 이후 보고서 또는 피벗 테이블 사용에 중요합니다. 이는 모든 데이터를 포함한 DataGridView를 생성합니다: 보다 고급 데이터 바인딩 시나리오에 대한 Microsoft's DataGridView 데이터 바인딩 문서는 추가적인 예시를 제공합니다. 열 헤더를 보존하며 DataGridView를 Excel로 내보내는 방법은? 내보내기 메서드는 각 DataGridView 열의 HeaderText 속성에서 열 헤더를 읽고 이를 워크시트의 0행에 작성합니다. 데이터 행은 1행부터 이어집니다. 이 메서드를 btnExport 클릭 이벤트에 연결하십시오: private void btnExport_Click(object sender, EventArgs e) { try { // Create a new Excel workbook in XLSX format WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet worksheet = workbook.CreateWorkSheet("Exported Data"); // Write column headers to row 0 for (int col = 0; col < dataGridView1.Columns.Count; col++) { worksheet.SetCellValue(0, col, dataGridView1.Columns[col].HeaderText); } // Write data rows starting at row 1 for (int row = 0; row < dataGridView1.Rows.Count; row++) { // Skip the placeholder new-row at the bottom of the grid if (dataGridView1.AllowUserToAddRows && row == dataGridView1.Rows.Count - 1) continue; for (int col = 0; col < dataGridView1.Columns.Count; col++) { var cellValue = dataGridView1.Rows[row].Cells[col].Value; if (cellValue != null) { worksheet.SetCellValue(row + 1, col, cellValue.ToString()); } } } // Prompt the user to choose a save location using SaveFileDialog saveFileDialog = new SaveFileDialog { Filter = "Excel Files|*.xlsx", FileName = "DataGridView_Export.xlsx" }; if (saveFileDialog.ShowDialog() == DialogResult.OK) { workbook.SaveAs(saveFileDialog.FileName); MessageBox.Show("Export completed successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show($"Export failed: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void btnExport_Click(object sender, EventArgs e) { try { // Create a new Excel workbook in XLSX format WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet worksheet = workbook.CreateWorkSheet("Exported Data"); // Write column headers to row 0 for (int col = 0; col < dataGridView1.Columns.Count; col++) { worksheet.SetCellValue(0, col, dataGridView1.Columns[col].HeaderText); } // Write data rows starting at row 1 for (int row = 0; row < dataGridView1.Rows.Count; row++) { // Skip the placeholder new-row at the bottom of the grid if (dataGridView1.AllowUserToAddRows && row == dataGridView1.Rows.Count - 1) continue; for (int col = 0; col < dataGridView1.Columns.Count; col++) { var cellValue = dataGridView1.Rows[row].Cells[col].Value; if (cellValue != null) { worksheet.SetCellValue(row + 1, col, cellValue.ToString()); } } } // Prompt the user to choose a save location using SaveFileDialog saveFileDialog = new SaveFileDialog { Filter = "Excel Files|*.xlsx", FileName = "DataGridView_Export.xlsx" }; if (saveFileDialog.ShowDialog() == DialogResult.OK) { workbook.SaveAs(saveFileDialog.FileName); MessageBox.Show("Export completed successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show($"Export failed: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } $vbLabelText $csharpLabel 내보내기 단계 분석 메서드의 각 단계는 특정 목적을 수행합니다: WorkBook.Create: XLSX 형식을 사용하여 메모리에 새 Excel 파일을 초기화합니다. 파일은 SaveAs가 호출될 때까지 디스크에 기록되지 않습니다. CreateWorkSheet: 내보낸 데이터를 보유하기 위해 이름이 붙은 시트를 추가합니다. 이름 "Exported Data"는 Excel에서 탭 레이블로 나타납니다. 열 헤더 루프: 각 열에 대해 dataGridView1.Columns[col].HeaderText을 읽고 이를 행 인덱스 0에 작성합니다. 이것은 헤더를 유지하는 핵심 단계입니다. 데이터 행 루프: 중첩 루프는 각 행과 열을 반복하며, 데이터를 항상 헤더 행 아래에 시작하도록 Excel 행 인덱스로 row + 1를 사용합니다. 널 체크: 실제 데이터에서 흔한 값이 없는 셀이 발생할 때 예외를 방지합니다. SaveFileDialog: 파일 이름과 목적지를 런타임에 사용자가 선택할 수 있게 하여 경로를 하드코딩하지 않도록 합니다. 내보낸 파일은 다음과 같습니다: 내보내기 중 일반적인 예외 사례를 처리하는 방법은? 실제 세계의 데이터는 샘플 데이터셋만큼 깨끗하게 보이지 않습니다. 가장 자주 직면하는 시나리오와 이를 해결하는 방법을 소개합니다. 빈 셀 데이터 루프의 null 검사 (if (cellValue != null))는 예외를 발생시키지 않고 빈 셀을 처리합니다. 빈 셀은 Excel 출력에서 빈칸으로 남아, 그리드 구조를 보존합니다. 혼합 데이터 유형 IronXL은 다른 데이터 형식을 자동으로 처리합니다. 숫자를 문자열로 ToString() 통해 전달할 때, Excel은 값에 따라 여전히 숫자로 인식할 수 있습니다. 정확한 유형 제어를 위해 셀 값을 작성하기 전에 올바른 유형으로 캐스팅합니다: if (cellValue is int intVal) worksheet.SetCellValue(row + 1, col, intVal); else if (cellValue is decimal decVal) worksheet.SetCellValue(row + 1, col, (double)decVal); else worksheet.SetCellValue(row + 1, col, cellValue?.ToString() ?? string.Empty); if (cellValue is int intVal) worksheet.SetCellValue(row + 1, col, intVal); else if (cellValue is decimal decVal) worksheet.SetCellValue(row + 1, col, (double)decVal); else worksheet.SetCellValue(row + 1, col, cellValue?.ToString() ?? string.Empty); $vbLabelText $csharpLabel 이 접근 방식은 Excel에서 숫자 열을 숫자로 유지하여, 공식 및 정렬이 다운스트림에서 올바르게 작동하도록 합니다. 헤더의 특수 문자 &, <, > 및 악센트 문자가 있는 열 헤더는 올바르게 내보내집니다. IronXL은 인코딩을 자동으로 처리하며, 당신의 추가적인 이스케이핑이 필요하지 않습니다. 큰 데이터셋 수만 개의 행이 있는 그리드의 경우 UI가 응답성을 유지하도록 백그라운드 스레드로 내보내기 로직을 이동하는 것을 고려하십시오. WorkBook.Create 및 루프 로직을 Task.Run 호출로 감싸고 완료된 콜백에서 UI를 업데이트합니다. Microsoft의 Task와 함께하는 비동기 프로그래밍에 대한 문서는 이 패턴을 자세히 설명합니다. 셀 스타일링, 공식 보존, 암호 보호와 같은 추가 시나리오에 대해 IronXL 문서는 각각을 자세히 다룹니다. 주요 내보내기 접근 방식 비교 방법은? 라이브러리에 커밋하기 전에 가장 일반적인 방법들 간의 절충점을 이해하는 데 도움이 됩니다. C#에서 DataGridView를 Excel 내보내기 방법과 비교 메서드 Office 필수 열 헤더 성능 서버 안전 Microsoft Office Interop 예 수동 느림 아니요 OpenXml SDK 아니요 수동 빠름 예 클로즈드XML 아니요 수동 좋은 예 IronXL 아니요 오토매틱 빠름 예 Interop 기반 솔루션은 서버에 Excel 설치가 필요하며, 이는 라이선스 문제와 배포 복잡성을 초래합니다. OpenXml SDK는 강력하지만 저수준의 도구로, 헤더 행을 작성하려면 XML 구조를 수동으로 구축해야 합니다. IronXL과 클로즈드XML은 둘 다 고수준의 API를 제공하지만, IronXL의 WorkBook과 WorkSheet 모델은 개발자가 스프레드시트를 이미 생각하는 방식과 밀접하게 연관되어 있습니다. XLSX 대신 CSV로 내보내는 방법은? Excel 워크북 대신 CSV 파일이 필요할 때 동일한 내보내기 패턴이 적용됩니다. 파일 형식과 확장자를 변경하세요: WorkBook csvWorkbook = WorkBook.Create(ExcelFileFormat.CSV); WorkSheet csvSheet = csvWorkbook.CreateWorkSheet("Data"); // Headers and data loops remain identical using SaveFileDialog dialog = new SaveFileDialog { Filter = "CSV Files|*.csv", FileName = "DataGridView_Export.csv" }; if (dialog.ShowDialog() == DialogResult.OK) csvWorkbook.SaveAs(dialog.FileName); WorkBook csvWorkbook = WorkBook.Create(ExcelFileFormat.CSV); WorkSheet csvSheet = csvWorkbook.CreateWorkSheet("Data"); // Headers and data loops remain identical using SaveFileDialog dialog = new SaveFileDialog { Filter = "CSV Files|*.csv", FileName = "DataGridView_Export.csv" }; if (dialog.ShowDialog() == DialogResult.OK) csvWorkbook.SaveAs(dialog.FileName); $vbLabelText $csharpLabel CSV 내보내기는 소비 시스템이 XLSX를 지원하지 않거나 매우 큰 데이터 세트의 경우 파일 크기가 문제일 때 유용합니다. 내보낸 파일의 헤더 행을 스타일링하는 방법은? 내보낸 데이터는 헤더 행이 시각적으로 뚜렷할 때 더 읽기 쉽습니다. IronXL은 헤더 값을 작성한 후 굵은 텍스트, 배경색, 폰트 크기를 적용할 수 있는 셀 스타일링 옵션을 제공합니다: // Write headers and apply bold styling for (int col = 0; col < dataGridView1.Columns.Count; col++) { string cellAddress = worksheet.GetCellAddress(0, col); worksheet[cellAddress].Value = dataGridView1.Columns[col].HeaderText; worksheet[cellAddress].Style.Font.Bold = true; worksheet[cellAddress].Style.SetBackgroundColor("#4472C4"); worksheet[cellAddress].Style.Font.FontColor = "#FFFFFF"; } // Write headers and apply bold styling for (int col = 0; col < dataGridView1.Columns.Count; col++) { string cellAddress = worksheet.GetCellAddress(0, col); worksheet[cellAddress].Value = dataGridView1.Columns[col].HeaderText; worksheet[cellAddress].Style.Font.Bold = true; worksheet[cellAddress].Style.SetBackgroundColor("#4472C4"); worksheet[cellAddress].Style.Font.FontColor = "#FFFFFF"; } $vbLabelText $csharpLabel 스타일링된 헤더 행은 수신자가 수동으로 서식을 적용할 필요 없이 내보낸 파일을 즉시 보고에 사용할 수 있게 해줍니다. IronXL 셀 스타일링 참조에서 스타일 속성 전체 목록을 확인하세요. 무료 체험판으로 시작하는 방법은? IronXL은 이 글에 설명된 내보내기 워크플로우를 포함한 모든 기능을 테스트할 수 있는 무료 체험판을 제공합니다. 위에 제시된 NuGet 명령 중 하나로 패키지를 설치하고, IronXL 라이선스 페이지에서 체험판 키를 생성한 다음 첫 번째 라이브러리 호출 전에 애플리케이션에 설정하세요: IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"; IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE"; $vbLabelText $csharpLabel 체험판은 완전한 기능을 갖춘 Excel 파일을 생성하며 사용 가능한 기능에 제한을 두지 않습니다. 프로덕션 배포를 위해서는 라이선싱 옵션이 단일 개발자, 팀 및 로열티 무료 재배포를 포함합니다. 관련 내보내기 시나리오의 경우, IronXL이 DataTables를 직접 Excel로 내보내는 것, Excel 파일을 DataGridViews로 읽는 것, 및 내보낸 데이터로 차트를 생성하는 것을 어떻게 처리하는지 탐색하세요. 케이스에 맞는 정확한 내보내기 전략 선택하기 튜토리얼 내내 설명된 간단한 셀 별 내보내기 방법은 대부분의 Windows Forms 애플리케이션에 적합합니다. DataGridView가 DataTable에 바인딩되어 있는 경우, IronXL의 DataTable-워크시트 변환기에 DataTable을 직접 전달할 수도 있으며, 이는 열 헤더를 자동으로 처리합니다. 열 레이아웃이 고정되어 있고 가능한 짧은 코드 경로가 필요한 경우에는 직접적인 DataTable 접근 방식을 선택하세요. 셀이 조건부 논리가 필요할 때마다 수동 셀 별 접근 방식을 선택하세요. 예를 들어, 허용 범위 외의 값이 있는 셀을 강조 표시하거나 쓸 때 null 가능 타입을 명시적으로 매핑하는 경우. 다운로드 가능한 Excel 보고서를 생성하는 ASP.NET Core 컨트롤러와 같은 서버 측 시나리오의 경우 동일한 IronXL API가 적용됩니다. 유일한 차이점은 저장 대상입니다: SaveAs(filePath) 대신 workbook.ToByteArray()를 호출하고 HTTP 응답으로 바이너리를 콘텐츠 유형 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet로 작성하십시오. 열 헤더는 출력이 파일로 가든 스트림으로 가든 동일하게 전송됩니다. 자주 묻는 질문 C#에서 DataGridView의 데이터를 Excel로 내보내는 방법은 무엇인가요? IronXL 라이브러리를 사용하여 Excel 통합 문서를 생성하고, DataGridView의 열을 반복하여 0행에 헤더를 작성한 다음, 데이터 행을 반복하여 1행부터 셀 값을 작성합니다. 마지막으로 [다른 이름으로 저장] 기능을 사용하여 통합 문서를 저장합니다. IronXL 사용하여 데이터를 내보낼 때의 이점은 무엇입니까? IronXL Microsoft Office 설치 없이도 Excel 작업을 위한 고급 API를 제공합니다. 헤더, 데이터 유형 및 파일 형식을 XML을 수동으로 조작할 필요 없이 처리합니다. DataGridView에서 Excel로 내보낼 때 열 헤더를 유지하는 것이 가능합니까? 예. 각 DataGridView 열의 HeaderText 속성을 읽어 IronXL 워크시트의 0번째 행에 데이터를 기록하기 전에 해당 속성을 기록하십시오. IronXL 사용하여 Excel로 내보내기를 시작하려면 평가판이 필요한가요? 모든 기능을 이용할 수 있는 무료 평가판이 제공됩니다. NuGet 패키지를 설치하고 평가판 키를 생성한 후, 라이브러리를 호출하기 전에 IronXL 를 설정하십시오. IronXL 대용량 DataGridView 데이터셋을 Excel로 내보낼 때 문제없이 처리할 수 있습니까? 네. 매우 큰 그리드의 경우, IronXL 데이터를 기록하는 동안 UI 응답성을 유지하기 위해 Task.Run을 사용하여 백그라운드 스레드에서 내보내기를 실행하세요. IronXL 사용하여 DataGridView를 Excel로 내보내는 단계는 무엇입니까? IronXL 설치하고, 통합 문서와 워크시트를 생성한 다음, DataGridView의 열을 순회하여 0번째 행에 헤더를 쓰고, 행을 순회하여 1번째 행부터 데이터를 쓴 후, SaveAs를 호출하여 파일을 저장하세요. Excel로 내보낼 때 다른 라이브러리 대신 IronXL 선택해야 하는 이유는 무엇일까요? IronXL Office 설치가 필요 없고 서버에서 실행되며, 개발자가 스프레드시트를 생각하는 방식에 자연스럽게 연결되는 깔끔한 워크북/워크시트 API를 제공합니다. 또한 강력한 문서와 활발한 지원을 제공합니다. IronXL 관련 문제 해결을 위한 지원이 제공되나요? 예. IronXL 라이선스 고객에게 상세한 API 문서, 코드 예제 및 직접적인 엔지니어링 지원을 제공합니다. IronXL 사용하여 Excel 내보내기 프로세스를 사용자 지정할 수 있습니까? 네. 데이터를 입력한 후 IronXL의 스타일 API를 사용하여 모든 셀 범위에 굵은 글꼴, 배경색, 테두리 및 숫자 서식을 적용할 수 있습니다. IronXL Excel 외 다른 형식으로 데이터 내보내기를 지원합니까? 예. IronXL XLSX, XLS, CSV 및 TSV 형식을 지원합니다. 형식을 변경하려면 WorkBook.Create에 전달되는 ExcelFileFormat 열거형 값만 변경하면 됩니다. 커티스 차우 지금 바로 엔지니어링 팀과 채팅하세요 기술 문서 작성자 커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다. 커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다. 관련 기사 업데이트됨 3월 1, 2026 .NET C#에서 Excel 파일 다운로드: XLSX, CSV 등 다양한 형식으로 데이터 내보내기 ASP.NET Core 에서 C# 및 IronXL 사용하여 Excel 파일을 다운로드하는 방법을 설명합니다. MVC 컨트롤러에서 MemoryStream 및 File() 반환 값을 사용하여 데이터를 XLSX, CSV 및 XML 형식으로 내보낼 수 있습니다. 코드 예제가 포함되어 있습니다. 더 읽어보기 업데이트됨 3월 1, 2026 IronXL 사용하여 Blazor 에서 Excel 파일을 내보내는 방법 IronXL 사용하여 Blazor Server 애플리케이션에서 데이터를 Excel로 내보내는 방법을 알아보세요. 이 가이드에서는 프로젝트 설정, 서비스 설계, 조건부 서식, 다중 시트 보고서 및 오류 처리에 대한 모든 C# 코드 예제를 다룹니다. 더 읽어보기 업데이트됨 2월 27, 2026 StreamReader 대신 C#에서 Excel 파일을 읽는 방법 StreamReader가 Excel 파일을 읽을 수 없는 이유와 C# .NET 에서 IronXL 사용하여 디스크 또는 메모리 스트림에서 XLSX 및 XLS 통합 문서를 로드하는 방법을 알아보세요. 더 읽어보기 IronXL 사용하여 C#에서 CSV 파일을 빠르게 읽는 방법은 무엇입니까?ExcelDataReader로 Excel 파일 쓰...
업데이트됨 3월 1, 2026 .NET C#에서 Excel 파일 다운로드: XLSX, CSV 등 다양한 형식으로 데이터 내보내기 ASP.NET Core 에서 C# 및 IronXL 사용하여 Excel 파일을 다운로드하는 방법을 설명합니다. MVC 컨트롤러에서 MemoryStream 및 File() 반환 값을 사용하여 데이터를 XLSX, CSV 및 XML 형식으로 내보낼 수 있습니다. 코드 예제가 포함되어 있습니다. 더 읽어보기
업데이트됨 3월 1, 2026 IronXL 사용하여 Blazor 에서 Excel 파일을 내보내는 방법 IronXL 사용하여 Blazor Server 애플리케이션에서 데이터를 Excel로 내보내는 방법을 알아보세요. 이 가이드에서는 프로젝트 설정, 서비스 설계, 조건부 서식, 다중 시트 보고서 및 오류 처리에 대한 모든 C# 코드 예제를 다룹니다. 더 읽어보기
업데이트됨 2월 27, 2026 StreamReader 대신 C#에서 Excel 파일을 읽는 방법 StreamReader가 Excel 파일을 읽을 수 없는 이유와 C# .NET 에서 IronXL 사용하여 디스크 또는 메모리 스트림에서 XLSX 및 XLS 통합 문서를 로드하는 방법을 알아보세요. 더 읽어보기