IronXL 튜토리얼 C#으로 Excel 파일 생성하기 How to Create an Excel File in C# (.NET Tutorial) 제이콥 멜러 업데이트됨:2월 24, 2026 다운로드 IronXL NuGet 다운로드 DLL 다운로드 무료 체험 시작하기 LLM용 사본 LLM용 사본 LLM용 마크다운 형식으로 페이지를 복사하세요 ChatGPT에서 열기 ChatGPT에 이 페이지에 대해 문의하세요 제미니에서 열기 제미니에게 이 페이지에 대해 문의하세요 Grok에서 열기 Grok에게 이 페이지에 대해 문의하세요 혼란 속에서 열기 Perplexity에게 이 페이지에 대해 문의하세요 공유하다 페이스북에 공유하기 트위터에 공유하기 LinkedIn에 공유하기 URL 복사 이메일로 기사 보내기 This article was translated from English: Does it need improvement? Translated View the article in English IronXL은 Microsoft Office 또는 Interop에 대한 종속성 없이 XLSX 스프레드시트를 프로그래밍 방식으로 생성, 읽기 및 편집할 수 있는 강력한 C# 및 .NET Excel 라이브러리입니다. 이 플랫폼은 .NET 8, .NET 9, .NET Core, .NET Framework를 지원하며 Windows, Linux, macOS, Azure 및 AWS에서 실행됩니다. 이 튜토리얼에서는 C#을 사용하여 완벽한 Excel 통합 문서를 만드는 방법을 단계별 코드 예제와 함께 안내합니다. 셀 값 설정, 서식 적용, 수식 추가, XLSX, CSV 등으로 내보내기 등의 작업을 수행합니다. 빠른 시작: 엑셀 파일 만들기 IronXL을 사용하면 새 Excel 파일을 순식간에 만들 수 있습니다. 형식을 선택하고, 시트를 추가하고, 셀 값을 설정한 다음 저장하기만 하면 됩니다. 직관적인 API 호출과 호환성 문제 없이 XLSX 파일을 가장 빠르게 생성하는 방법입니다. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronXl.Excel 설치하기 PM > Install-Package IronXl.Excel 다음 코드 조각을 복사하여 실행하세요. WorkBook book = IronXl.WorkBook.Create(IronXl.ExcelFileFormat.XLSX); book.CreateWorkSheet("Sheet1")["A1"].Value = "Hello World"; book.SaveAs("MyFile.xlsx"); 실제 운영 환경에서 테스트할 수 있도록 배포하세요. 무료 체험판으로 오늘 프로젝트에서 IronXL 사용 시작하기 Free 30 Day Trial ### 최소 워크플로우(5단계) IronXL C# 라이브러리를 다운로드하여 설치하세요. .NET 프로젝트를 설정하세요 통합 문서와 워크시트를 만드세요 셀 값, 서식 및 수식 설정 엑셀 파일을 저장하세요 IronXL이란 무엇이며, 엑셀 파일 생성에 IronXL을 사용하는 이유는 무엇일까요? IronXL은 직관적인 C# 및 VB Excel API로, 뛰어난 성능으로 .NET 환경에서 Excel 스프레드시트 파일을 읽고 편집하고 생성할 수 있도록 해줍니다. 기존 방식과 달리 Microsoft Office를 설치하거나 Excel Interop을 사용할 필요가 없어 배포가 더 간단하고 안정적입니다. IronXL은 .NET 9, .NET 8, .NET Core, .NET Framework, Xamarin, 모바일, Linux, macOS 및 Azure 환경을 완벽하게 지원합니다. IronXL의 특징 .NET 개발팀의 직접적인 지원을 제공합니다. Microsoft Visual Studio를 이용한 빠른 설치 개발은 무료입니다. $799 라이선스 엑셀 파일을 빠르게 만들고 저장하는 방법은 무엇인가요? NuGet을 통해 IronXL을 설치 하거나 DLL을 직접 다운로드하십시오 . WorkBook 클래스는 모든 Excel 작업의 시작점이며, WorkSheet 클래스는 개별 시트를 조작하는 메서드를 제공합니다 — 전체 단계별 진행은 아래의 1단계에서 시작됩니다. How Do I Install the IronXL C# Library? Visual Studio의 NuGet 패키지 관리자를 통해 IronXL을 설치하거나 패키지 관리자 콘솔을 사용하십시오. Install-Package IronXl.Excel 프로젝트 메뉴를 통해 또는 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하여 NuGet 패키지 관리자에 액세스할 수 있습니다. **그림 3** - *프로젝트 메뉴를 통해 NuGet 패키지 관리자에 접근하기* **그림 4** - *솔루션 탐색기에서 마우스 오른쪽 버튼을 클릭하여 나타나는 상황별 메뉴* 패키지 목록에서 IronXl.Excel을 검색하여 설치를 클릭하십시오. **그림 5** – *NuGet 패키지 관리자를 통해 IronXl.Excel 설치하기* 또는 IronXL DLL을 직접 다운로드하여 Solution Explorer > References > Browse for IronXL.dll를 통해 프로젝트에 참조로 추가하십시오. **그림 6** – *공식 웹사이트에서 IronXL 라이브러리를 다운로드하세요* IronXL은 Microsoft Office 또는 Excel Interop 설치가 필요하지 않습니다. Windows, Linux, macOS 및 클라우드 환경을 포함한 모든 .NET 지원 플랫폼에서 실행됩니다. .NET 프로젝트는 어떻게 설정하나요? IronXL은 콘솔 앱, ASP.NET 웹 앱, API 또는 데스크톱 도구 등 모든 유형의 .NET 프로젝트 와 호환됩니다. 아래 예시는 ASP.NET 웹 애플리케이션을 사용하지만, 모든 프로젝트 템플릿에서 과정은 동일합니다. 다음 단계를 따라 ASP.NET 웹사이트를 만드세요. Visual Studio를 엽니다. 파일 > 새 프로젝트를 클릭합니다. 프로젝트 유형 목록에서 Visual C# 아래의 웹을 선택합니다. ASP.NET 웹 애플리케이션 선택 그림 1 – Create new ASP.NET project 확인을 클릭하세요 웹 양식 템플릿을 선택합니다. 그림 2 – Select Web Forms template 확인을 클릭하세요 프로젝트 준비가 완료되면 IronXL을 설치하여 Excel 파일을 프로그래밍 방식으로 생성해 보세요. How Do I Create an Excel Workbook in C#? IronXL을 사용하여 새 Excel 통합 문서를 만드는 데 필요한 코드는 단 한 줄입니다. using IronXL; // Create workbook with XLSX format (recommended for modern Excel) WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Alternative: Create legacy XLS format for older Excel versions WorkBook legacyWorkbook = WorkBook.Create(ExcelFileFormat.XLS); using IronXL; // Create workbook with XLSX format (recommended for modern Excel) WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Alternative: Create legacy XLS format for older Excel versions WorkBook legacyWorkbook = WorkBook.Create(ExcelFileFormat.XLS); $vbLabelText $csharpLabel WorkBook.Create 메서드는 XLS (Excel 97-2003) 및 XLSX (Excel 2007+) 형식을 모두 지원합니다. XLSX 형식은 성능 향상 및 파일 크기 축소에 권장됩니다. XLSX : 모든 최신 Excel 버전(2007 이상)에 권장 - 파일 크기가 작고 성능이 향상됩니다. XLS : Excel 97~2003 버전과의 호환성을 위한 기존 형식입니다. 워크북에 워크시트를 추가하려면 어떻게 해야 하나요? 워크시트를 추가하는 것은 간단합니다. // Create a worksheet with custom name for budget tracking WorkSheet budgetSheet = workbook.CreateWorkSheet("2020 Budget"); // Add multiple worksheets for different purposes WorkSheet salesSheet = workbook.CreateWorkSheet("Sales Data"); WorkSheet inventorySheet = workbook.CreateWorkSheet("Inventory"); // Access existing worksheet by name WorkSheet existingSheet = workbook.GetWorkSheet("2020 Budget"); // Create a worksheet with custom name for budget tracking WorkSheet budgetSheet = workbook.CreateWorkSheet("2020 Budget"); // Add multiple worksheets for different purposes WorkSheet salesSheet = workbook.CreateWorkSheet("Sales Data"); WorkSheet inventorySheet = workbook.CreateWorkSheet("Inventory"); // Access existing worksheet by name WorkSheet existingSheet = workbook.GetWorkSheet("2020 Budget"); $vbLabelText $csharpLabel 워크북에는 하나 이상의 워크시트가 포함되어 있습니다. 각 워크시트는 행과 열로 구성되며, 행과 열이 교차하는 부분에 셀이 있습니다. CreateWorkSheet 메서드를 사용하여 워크북에 새 시트를 추가하십시오. CreateWorkSheet("name"): 주어진 탭 이름으로 새 시트를 추가 GetWorkSheet("name"): 이름으로 기존 시트를 검색 통합 문서 내에서 시트 이름은 고유해야 합니다. 엑셀에서 셀 값을 설정하는 방법은 무엇인가요? 셀 값을 수동으로 설정하려면 어떻게 해야 하나요? 개별 셀 값 설정은 직관적인 Excel과 유사한 구문을 사용합니다. // Set month names in first row for annual budget spreadsheet workSheet["A1"].Value = "January"; workSheet["B1"].Value = "February"; workSheet["C1"].Value = "March"; workSheet["D1"].Value = "April"; workSheet["E1"].Value = "May"; workSheet["F1"].Value = "June"; workSheet["G1"].Value = "July"; workSheet["H1"].Value = "August"; workSheet["I1"].Value = "September"; workSheet["J1"].Value = "October"; workSheet["K1"].Value = "November"; workSheet["L1"].Value = "December"; // Set different data types - IronXL handles conversion automatically workSheet["A2"].Value = 1500.50m; // Decimal for currency workSheet["A3"].Value = DateTime.Now; // Date values workSheet["A4"].Value = true; // Boolean values // Set month names in first row for annual budget spreadsheet workSheet["A1"].Value = "January"; workSheet["B1"].Value = "February"; workSheet["C1"].Value = "March"; workSheet["D1"].Value = "April"; workSheet["E1"].Value = "May"; workSheet["F1"].Value = "June"; workSheet["G1"].Value = "July"; workSheet["H1"].Value = "August"; workSheet["I1"].Value = "September"; workSheet["J1"].Value = "October"; workSheet["K1"].Value = "November"; workSheet["L1"].Value = "December"; // Set different data types - IronXL handles conversion automatically workSheet["A2"].Value = 1500.50m; // Decimal for currency workSheet["A3"].Value = DateTime.Now; // Date values workSheet["A4"].Value = true; // Boolean values $vbLabelText $csharpLabel Cell.Value 속성은 문자열, 숫자, 날짜 및 불리언을 포함한 다양한 데이터 유형을 수용합니다. IronXL은 데이터 유형에 따라 셀 형식을 자동으로 지정합니다. 셀 값을 동적으로 설정하는 방법은 무엇인가요? 동적 값 설정은 데이터 기반 애플리케이션에 적합합니다. // Initialize random number generator for sample data Random r = new Random(); // Populate cells with random budget data for each month for (int i = 2; i <= 11; i++) { // Set different budget categories with increasing ranges workSheet[$"A{i}"].Value = r.Next(1, 1000); // Office Supplies workSheet[$"B{i}"].Value = r.Next(1000, 2000); // Utilities workSheet[$"C{i}"].Value = r.Next(2000, 3000); // Rent workSheet[$"D{i}"].Value = r.Next(3000, 4000); // Salaries workSheet[$"E{i}"].Value = r.Next(4000, 5000); // Marketing workSheet[$"F{i}"].Value = r.Next(5000, 6000); // IT Services workSheet[$"G{i}"].Value = r.Next(6000, 7000); // Travel workSheet[$"H{i}"].Value = r.Next(7000, 8000); // Training workSheet[$"I{i}"].Value = r.Next(8000, 9000); // Insurance workSheet[$"J{i}"].Value = r.Next(9000, 10000); // Equipment workSheet[$"K{i}"].Value = r.Next(10000, 11000); // Research workSheet[$"L{i}"].Value = r.Next(11000, 12000); // Misc } // Alternative: Set range of cells with same value workSheet["A13:L13"].Value = 0; // Initialize totals row // Initialize random number generator for sample data Random r = new Random(); // Populate cells with random budget data for each month for (int i = 2; i <= 11; i++) { // Set different budget categories with increasing ranges workSheet[$"A{i}"].Value = r.Next(1, 1000); // Office Supplies workSheet[$"B{i}"].Value = r.Next(1000, 2000); // Utilities workSheet[$"C{i}"].Value = r.Next(2000, 3000); // Rent workSheet[$"D{i}"].Value = r.Next(3000, 4000); // Salaries workSheet[$"E{i}"].Value = r.Next(4000, 5000); // Marketing workSheet[$"F{i}"].Value = r.Next(5000, 6000); // IT Services workSheet[$"G{i}"].Value = r.Next(6000, 7000); // Travel workSheet[$"H{i}"].Value = r.Next(7000, 8000); // Training workSheet[$"I{i}"].Value = r.Next(8000, 9000); // Insurance workSheet[$"J{i}"].Value = r.Next(9000, 10000); // Equipment workSheet[$"K{i}"].Value = r.Next(10000, 11000); // Research workSheet[$"L{i}"].Value = r.Next(11000, 12000); // Misc } // Alternative: Set range of cells with same value workSheet["A13:L13"].Value = 0; // Initialize totals row $vbLabelText $csharpLabel 문자열 보간 ($"A{i}")을 사용하면 셀 참조가 동적으로 이루어집니다. Range 인덱서는 개별 셀과 범위를 모두 지원합니다. 데이터베이스에서 엑셀로 데이터를 가져오는 방법은 무엇인가요? 데이터베이스에서 엑셀로 데이터를 불러오는 것은 흔히 요구되는 작업입니다. using System.Data; using System.Data.SqlClient; using IronXL; // Database connection setup for retrieving sales data string connectionString = @"Data Source=ServerName;Initial Catalog=SalesDB;Integrated Security=true"; string query = "SELECT ProductName, Quantity, UnitPrice, TotalSales FROM MonthlySales"; // Create DataSet to hold query results DataSet salesData = new DataSet(); using (SqlConnection connection = new SqlConnection(connectionString)) using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection)) { // Fill DataSet with sales information adapter.Fill(salesData); } // Write headers for database columns workSheet["A1"].Value = "Product Name"; workSheet["B1"].Value = "Quantity"; workSheet["C1"].Value = "Unit Price"; workSheet["D1"].Value = "Total Sales"; // Apply header formatting workSheet["A1:D1"].Style.Font.Bold = true; workSheet["A1:D1"].Style.SetBackgroundColor("#4472C4"); workSheet["A1:D1"].Style.Font.FontColor = "#FFFFFF"; // Populate Excel with database records DataTable salesTable = salesData.Tables[0]; for (int row = 0; row < salesTable.Rows.Count; row++) { int excelRow = row + 2; // Start from row 2 (after headers) workSheet[$"A{excelRow}"].Value = salesTable.Rows[row]["ProductName"].ToString(); workSheet[$"B{excelRow}"].Value = Convert.ToInt32(salesTable.Rows[row]["Quantity"]); workSheet[$"C{excelRow}"].Value = Convert.ToDecimal(salesTable.Rows[row]["UnitPrice"]); workSheet[$"D{excelRow}"].Value = Convert.ToDecimal(salesTable.Rows[row]["TotalSales"]); // Format currency columns workSheet[$"C{excelRow}"].FormatString = "$#,##0.00"; workSheet[$"D{excelRow}"].FormatString = "$#,##0.00"; } // Add summary row with formulas int summaryRow = salesTable.Rows.Count + 2; workSheet[$"A{summaryRow}"].Value = "TOTAL"; workSheet[$"B{summaryRow}"].Formula = $"=SUM(B2:B{summaryRow-1})"; workSheet[$"D{summaryRow}"].Formula = $"=SUM(D2:D{summaryRow-1})"; using System.Data; using System.Data.SqlClient; using IronXL; // Database connection setup for retrieving sales data string connectionString = @"Data Source=ServerName;Initial Catalog=SalesDB;Integrated Security=true"; string query = "SELECT ProductName, Quantity, UnitPrice, TotalSales FROM MonthlySales"; // Create DataSet to hold query results DataSet salesData = new DataSet(); using (SqlConnection connection = new SqlConnection(connectionString)) using (SqlDataAdapter adapter = new SqlDataAdapter(query, connection)) { // Fill DataSet with sales information adapter.Fill(salesData); } // Write headers for database columns workSheet["A1"].Value = "Product Name"; workSheet["B1"].Value = "Quantity"; workSheet["C1"].Value = "Unit Price"; workSheet["D1"].Value = "Total Sales"; // Apply header formatting workSheet["A1:D1"].Style.Font.Bold = true; workSheet["A1:D1"].Style.SetBackgroundColor("#4472C4"); workSheet["A1:D1"].Style.Font.FontColor = "#FFFFFF"; // Populate Excel with database records DataTable salesTable = salesData.Tables[0]; for (int row = 0; row < salesTable.Rows.Count; row++) { int excelRow = row + 2; // Start from row 2 (after headers) workSheet[$"A{excelRow}"].Value = salesTable.Rows[row]["ProductName"].ToString(); workSheet[$"B{excelRow}"].Value = Convert.ToInt32(salesTable.Rows[row]["Quantity"]); workSheet[$"C{excelRow}"].Value = Convert.ToDecimal(salesTable.Rows[row]["UnitPrice"]); workSheet[$"D{excelRow}"].Value = Convert.ToDecimal(salesTable.Rows[row]["TotalSales"]); // Format currency columns workSheet[$"C{excelRow}"].FormatString = "$#,##0.00"; workSheet[$"D{excelRow}"].FormatString = "$#,##0.00"; } // Add summary row with formulas int summaryRow = salesTable.Rows.Count + 2; workSheet[$"A{summaryRow}"].Value = "TOTAL"; workSheet[$"B{summaryRow}"].Formula = $"=SUM(B2:B{summaryRow-1})"; workSheet[$"D{summaryRow}"].Formula = $"=SUM(D2:D{summaryRow-1})"; $vbLabelText $csharpLabel 이 예제는 데이터베이스에서 Excel 데이터를 읽고, 서식을 적용하고, 수식을 사용하여 계산하는 방법을 보여줍니다. FormatString 속성은 Excel과 마찬가지로 사용자 정의 숫자 형식을 사용할 수 있게 합니다. 엑셀 셀에 서식을 적용하는 방법은 무엇인가요? 엑셀에서 배경색을 설정하는 방법은 무엇인가요? 셀 스타일링은 가독성과 시각적 매력을 향상시킵니다. // Set header row background to light gray using hex color workSheet["A1:L1"].Style.SetBackgroundColor("#d3d3d3"); // Apply different colors for data categorization workSheet["A2:A11"].Style.SetBackgroundColor("#E7F3FF"); // Light blue for January workSheet["B2:B11"].Style.SetBackgroundColor("#FFF2CC"); // Light yellow for February // Highlight important cells with bold colors workSheet["L12"].Style.SetBackgroundColor("#FF0000"); // Red for totals workSheet["L12"].Style.Font.FontColor = "#FFFFFF"; // White text // Create alternating row colors for better readability for (int row = 2; row <= 11; row++) { if (row % 2 == 0) { workSheet[$"A{row}:L{row}"].Style.SetBackgroundColor("#F2F2F2"); } } // Set header row background to light gray using hex color workSheet["A1:L1"].Style.SetBackgroundColor("#d3d3d3"); // Apply different colors for data categorization workSheet["A2:A11"].Style.SetBackgroundColor("#E7F3FF"); // Light blue for January workSheet["B2:B11"].Style.SetBackgroundColor("#FFF2CC"); // Light yellow for February // Highlight important cells with bold colors workSheet["L12"].Style.SetBackgroundColor("#FF0000"); // Red for totals workSheet["L12"].Style.Font.FontColor = "#FFFFFF"; // White text // Create alternating row colors for better readability for (int row = 2; row <= 11; row++) { if (row % 2 == 0) { workSheet[$"A{row}:L{row}"].Style.SetBackgroundColor("#F2F2F2"); } } $vbLabelText $csharpLabel Style.SetBackgroundColor 메서드는 헥스 색상 코드를 수용합니다. 전문적인 느낌의 스프레드시트를 만들려면 배경색과 글꼴 색상을 조합하세요. 엑셀에서 테두리를 만드는 방법은 무엇인가요? 경계는 데이터 영역을 정의하고 구조를 개선하는 데 도움이 됩니다. using IronXL; using IronXl.Styles; // Create header border - thick bottom line to separate from data workSheet["A1:L1"].Style.TopBorder.SetColor("#000000"); workSheet["A1:L1"].Style.TopBorder.Type = BorderType.Thick; workSheet["A1:L1"].Style.BottomBorder.SetColor("#000000"); workSheet["A1:L1"].Style.BottomBorder.Type = BorderType.Thick; // Add right border to last column workSheet["L2:L11"].Style.RightBorder.SetColor("#000000"); workSheet["L2:L11"].Style.RightBorder.Type = BorderType.Medium; // Create bottom border for data area workSheet["A11:L11"].Style.BottomBorder.SetColor("#000000"); workSheet["A11:L11"].Style.BottomBorder.Type = BorderType.Medium; // Apply complete border around summary section var summaryRange = workSheet["A12:L12"]; summaryRange.Style.TopBorder.Type = BorderType.Double; summaryRange.Style.BottomBorder.Type = BorderType.Double; summaryRange.Style.LeftBorder.Type = BorderType.Thin; summaryRange.Style.RightBorder.Type = BorderType.Thin; summaryRange.Style.SetBorderColor("#0070C0"); // Blue borders using IronXL; using IronXl.Styles; // Create header border - thick bottom line to separate from data workSheet["A1:L1"].Style.TopBorder.SetColor("#000000"); workSheet["A1:L1"].Style.TopBorder.Type = BorderType.Thick; workSheet["A1:L1"].Style.BottomBorder.SetColor("#000000"); workSheet["A1:L1"].Style.BottomBorder.Type = BorderType.Thick; // Add right border to last column workSheet["L2:L11"].Style.RightBorder.SetColor("#000000"); workSheet["L2:L11"].Style.RightBorder.Type = BorderType.Medium; // Create bottom border for data area workSheet["A11:L11"].Style.BottomBorder.SetColor("#000000"); workSheet["A11:L11"].Style.BottomBorder.Type = BorderType.Medium; // Apply complete border around summary section var summaryRange = workSheet["A12:L12"]; summaryRange.Style.TopBorder.Type = BorderType.Double; summaryRange.Style.BottomBorder.Type = BorderType.Double; summaryRange.Style.LeftBorder.Type = BorderType.Thin; summaryRange.Style.RightBorder.Type = BorderType.Thin; summaryRange.Style.SetBorderColor("#0070C0"); // Blue borders $vbLabelText $csharpLabel IronXL은 얇은 테두리, 중간 테두리, 두꺼운 테두리, 이중 테두리, 점선 테두리, 파선 테두리 등 다양한 테두리 유형을 지원합니다. 테두리의 각 면은 독립적으로 스타일을 지정할 수 있습니다. How Do I Use Excel Formulas in C#? IronXL은 자동 계산 기능을 갖춘 강력한 수식 지원 기능을 제공합니다. // Use built-in aggregation functions for ranges decimal sum = workSheet["A2:A11"].Sum(); decimal avg = workSheet["B2:B11"].Avg(); decimal max = workSheet["C2:C11"].Max(); decimal min = workSheet["D2:D11"].Min(); // Assign calculated values to cells workSheet["A12"].Value = sum; workSheet["B12"].Value = avg; workSheet["C12"].Value = max; workSheet["D12"].Value = min; // Or use Excel formulas directly workSheet["A12"].Formula = "=SUM(A2:A11)"; workSheet["B12"].Formula = "=AVERAGE(B2:B11)"; workSheet["C12"].Formula = "=MAX(C2:C11)"; workSheet["D12"].Formula = "=MIN(D2:D11)"; // Complex formulas with multiple functions workSheet["E12"].Formula = "=IF(SUM(E2:E11)>50000,\"Over Budget\",\"On Track\")"; workSheet["F12"].Formula = "=SUMIF(F2:F11,\">5000\")"; // Percentage calculations workSheet["G12"].Formula = "=G11/SUM(G2:G11)*100"; workSheet["G12"].FormatString = "0.00%"; // Ensure all formulas calculate workSheet.EvaluateAll(); // Use built-in aggregation functions for ranges decimal sum = workSheet["A2:A11"].Sum(); decimal avg = workSheet["B2:B11"].Avg(); decimal max = workSheet["C2:C11"].Max(); decimal min = workSheet["D2:D11"].Min(); // Assign calculated values to cells workSheet["A12"].Value = sum; workSheet["B12"].Value = avg; workSheet["C12"].Value = max; workSheet["D12"].Value = min; // Or use Excel formulas directly workSheet["A12"].Formula = "=SUM(A2:A11)"; workSheet["B12"].Formula = "=AVERAGE(B2:B11)"; workSheet["C12"].Formula = "=MAX(C2:C11)"; workSheet["D12"].Formula = "=MIN(D2:D11)"; // Complex formulas with multiple functions workSheet["E12"].Formula = "=IF(SUM(E2:E11)>50000,\"Over Budget\",\"On Track\")"; workSheet["F12"].Formula = "=SUMIF(F2:F11,\">5000\")"; // Percentage calculations workSheet["G12"].Formula = "=G11/SUM(G2:G11)*100"; workSheet["G12"].FormatString = "0.00%"; // Ensure all formulas calculate workSheet.EvaluateAll(); $vbLabelText $csharpLabel Range 클래스는 간단한 계산을 위한 Sum(), Avg(), Max(), Min() 등의 메서드를 제공합니다. 더 복잡한 시나리오의 경우, Excel 수식을 직접 설정하기 위해 Formula 속성을 사용하십시오. {t:(범위를 작업할 때는 원시 수식 문자열보다 IronXL의 내장된 .Sum(), .Avg(), .Max(), .Min() 메서드를 사용하는 것을 선호하십시오 — 이는 유형 안전성을 가지며 공식 구문 오류를 피할 수 있습니다.)} 워크시트 및 인쇄 속성은 어떻게 설정하나요? IronXL을 사용하여 개별 워크시트를 보호하고, 행과 열을 고정하고, 인쇄 형식 옵션을 설정할 수 있습니다. 워크시트 속성은 어떻게 설정할 수 있나요? 워크시트를 보호하고 보기 옵션을 제어하세요. // Protect worksheet with password to prevent unauthorized changes workSheet.ProtectSheet("SecurePassword123"); // Freeze panes to keep headers visible while scrolling workSheet.CreateFreezePane(0, 1); // Freeze first row // workSheet.CreateFreezePane(1, 1); // Freeze first row and column // Set worksheet visibility options workSheet.ViewState = WorkSheetViewState.Visible; // or Hidden, VeryHidden // Configure gridlines and headers workSheet.ShowGridLines = true; workSheet.ShowRowColHeaders = true; // Set zoom level for better viewing workSheet.Zoom = 85; // 85% zoom // Protect worksheet with password to prevent unauthorized changes workSheet.ProtectSheet("SecurePassword123"); // Freeze panes to keep headers visible while scrolling workSheet.CreateFreezePane(0, 1); // Freeze first row // workSheet.CreateFreezePane(1, 1); // Freeze first row and column // Set worksheet visibility options workSheet.ViewState = WorkSheetViewState.Visible; // or Hidden, VeryHidden // Configure gridlines and headers workSheet.ShowGridLines = true; workSheet.ShowRowColHeaders = true; // Set zoom level for better viewing workSheet.Zoom = 85; // 85% zoom $vbLabelText $csharpLabel 워크시트 보호 기능은 실수로 인한 수정을 방지하고, 창 고정 기능은 스크롤하는 동안 중요한 행이나 열이 계속 보이도록 유지합니다. **그림 7** – *스크롤하는 동안 고정된 헤더 행이 계속 표시됩니다.* **그림 8** – *암호 보호는 무단 편집을 방지합니다* 페이지 및 인쇄 설정은 어떻게 구성하나요? IronXL을 통해 전문적인 인쇄 옵션을 설정하세요: using IronXl.Printing; // Define print area to exclude empty cells workSheet.SetPrintArea("A1:L12"); // Configure page orientation for wide data workSheet.PrintSetup.PrintOrientation = PrintOrientation.Landscape; // Set paper size for standard printing workSheet.PrintSetup.PaperSize = PaperSize.A4; // Adjust margins for better layout (in inches) workSheet.PrintSetup.LeftMargin = 0.5; workSheet.PrintSetup.RightMargin = 0.5; workSheet.PrintSetup.TopMargin = 0.75; workSheet.PrintSetup.BottomMargin = 0.75; // Configure header and footer workSheet.PrintSetup.HeaderMargin = 0.3; workSheet.PrintSetup.FooterMargin = 0.3; // Scale to fit on one page workSheet.PrintSetup.FitToPage = true; workSheet.PrintSetup.FitToHeight = 1; workSheet.PrintSetup.FitToWidth = 1; // Add print headers/footers workSheet.Header.Center = "Monthly Budget Report"; workSheet.Footer.Left = DateTime.Now.ToShortDateString(); workSheet.Footer.Right = "Page &P of &N"; // Page numbering using IronXl.Printing; // Define print area to exclude empty cells workSheet.SetPrintArea("A1:L12"); // Configure page orientation for wide data workSheet.PrintSetup.PrintOrientation = PrintOrientation.Landscape; // Set paper size for standard printing workSheet.PrintSetup.PaperSize = PaperSize.A4; // Adjust margins for better layout (in inches) workSheet.PrintSetup.LeftMargin = 0.5; workSheet.PrintSetup.RightMargin = 0.5; workSheet.PrintSetup.TopMargin = 0.75; workSheet.PrintSetup.BottomMargin = 0.75; // Configure header and footer workSheet.PrintSetup.HeaderMargin = 0.3; workSheet.PrintSetup.FooterMargin = 0.3; // Scale to fit on one page workSheet.PrintSetup.FitToPage = true; workSheet.PrintSetup.FitToHeight = 1; workSheet.PrintSetup.FitToWidth = 1; // Add print headers/footers workSheet.Header.Center = "Monthly Budget Report"; workSheet.Footer.Left = DateTime.Now.ToShortDateString(); workSheet.Footer.Right = "Page &P of &N"; // Page numbering $vbLabelText $csharpLabel PrintSetup 클래스는 Excel의 인쇄 설정에 해당하는 포괄적인 인쇄 구성 옵션을 제공합니다. **그림 9** – *가로 방향 및 사용자 지정 여백을 적용한 인쇄 미리보기* 엑셀 통합 문서를 어떻게 저장하나요? 워크북을 다양한 형식으로 저장하세요. // Save as XLSX (recommended for modern Excel) workBook.SaveAs("Budget.xlsx"); // Save as XLS for legacy compatibility workBook.SaveAs("Budget.xls"); // Save as CSV for data exchange workBook.SaveAsCsv("Budget.csv"); // Save as JSON for web applications workBook.SaveAsJson("Budget.json"); // Save to stream for web downloads or cloud storage using (var stream = new MemoryStream()) { workBook.SaveAs(stream); byte[] excelData = stream.ToArray(); // Send to client or save to cloud } // Save with specific encoding for international characters workBook.SaveAsCsv("Budget_UTF8.csv", System.Text.Encoding.UTF8); // Save as XLSX (recommended for modern Excel) workBook.SaveAs("Budget.xlsx"); // Save as XLS for legacy compatibility workBook.SaveAs("Budget.xls"); // Save as CSV for data exchange workBook.SaveAsCsv("Budget.csv"); // Save as JSON for web applications workBook.SaveAsJson("Budget.json"); // Save to stream for web downloads or cloud storage using (var stream = new MemoryStream()) { workBook.SaveAs(stream); byte[] excelData = stream.ToArray(); // Send to client or save to cloud } // Save with specific encoding for international characters workBook.SaveAsCsv("Budget_UTF8.csv", System.Text.Encoding.UTF8); $vbLabelText $csharpLabel IronXL은 XLSX, XLS, CSV, TSV 및 JSON을 포함한 다양한 내보내기 형식을 지원합니다. SaveAs 메서드는 파일 확장자로부터 형식을 자동으로 결정합니다. XLSX / XLS : 서식, 수식 및 여러 시트가 포함된 완전한 Excel 형식 CSV : 데이터 교환용 일반 텍스트 파일 - 파일당 한 시트씩 내보냅니다. JSON : 웹 API 및 데이터 파이프라인을 위한 구조화된 출력 형식 스트림 : 메모리 내 출력용 - 웹 다운로드 또는 클라우드 저장소에 유용 요약 이 튜토리얼에서는 IronXL을 사용하여 Microsoft Office에 의존하지 않고 C#으로 Excel 파일을 만드는 방법을 설명했습니다. 여러분은 통합 문서 생성, 셀 조작, 서식 지정, 수식 사용 및 다양한 저장 옵션을 포함한 필수적인 Excel 작업에 대해 배웠습니다. IronXL의 직관적인 API를 통해 .NET 개발자는 손쉽게 Excel 자동화를 구현할 수 있습니다. 더 고급 기능을 사용하려면 셀 병합 및 차트 생성 기능 을 살펴보세요. IronXL을 실제 운영 환경에서 사용할 준비가 되셨습니까? 무료 체험을 시작 하거나 라이선스 옵션을 확인하세요 . 다음 단계는 무엇인가요? 이제 C#으로 Excel 파일을 만들 수 있게 되었으니, IronXL의 관련 기능들을 살펴보세요. 기존 엑셀 파일 읽기 및 편집 엑셀에서 셀 병합하기 C#을 사용하여 Excel 차트 생성 스프레드시트 형식 간 변환 IronXL API 참조 튜토리얼 바로가기 ### 이 튜토리얼을 C# 소스 코드로 다운로드하세요. Excel 파일을 생성하는 데 필요한 전체 C# 소스 코드는 Visual Studio 프로젝트 파일로 제공됩니다. 다운로드 ### GitHub에서 이 튜토리얼을 살펴보세요. 이 프로젝트의 소스 코드는 C# 및 VB.NET 언어로 작성되었으며 GitHub에서 확인할 수 있습니다. 이 코드를 사용하면 단 몇 분 만에 Excel 파일을 쉽게 생성할 수 있습니다. 프로젝트는 Microsoft Visual Studio 프로젝트로 저장되었지만 모든 .NET IDE와 호환됩니다. GitHub에서 C#으로 Excel 파일 생성하기 ### IronXL API 참조를 읽어보세요. IronXL의 API 참조를 살펴보세요. .NET 환경에서 Excel을 완벽하게 조작하기 위한 모든 기능, 네임스페이스, 클래스, 메서드 및 속성에 대한 자세한 정보를 확인할 수 있습니다. API 참조를 확인하세요. 자주 묻는 질문 Interop을 사용하지 않고 C#에서 Excel 파일을 생성하려면 어떻게 해야 하나요? IronXL을 사용하면 Interop 없이도 Excel 파일을 생성할 수 있습니다. IronXL은 간단한 API를 제공합니다. WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX) 사용할 수 있습니다. 이 방법은 Microsoft Office 설치 없이 모든 .NET 플랫폼에서 작동합니다. C#을 이용한 엑셀 파일 생성은 어떤 플랫폼을 지원하나요? IronXL은 Windows, macOS, Linux, Docker, Azure 및 AWS 환경에서 실행되는 .NET 10, .NET 9, .NET 8, .NET Core, .NET Framework 4.6.2 이상에서 Excel 파일 생성을 지원합니다. 엑셀 파일 생성을 위한 C# 라이브러리를 어떻게 설치하나요? Visual Studio의 NuGet 패키지 관리자를 통해 IronXL을 설치하려면 PM> Install-Package IronXl.Excel 명령을 사용하거나 nuget.org에서 직접 다운로드하십시오. 프로그램을 이용하여 새 엑셀 통합 문서를 만드는 방법은 무엇인가요? IronXL을 사용하여 WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX) 로 통합 문서를 만든 다음 workbook.CreateWorkSheet("SheetName") 사용하여 워크시트를 추가합니다. C#을 사용하여 Excel 워크시트의 셀 값을 설정하는 방법은 무엇입니까? IronXL에서 직관적인 구문을 사용하여 셀 값을 설정합니다. 예: worksheet["A1"].Value = "Hello World" 또는 범위를 설정합니다. 예: worksheet["A1:A10"].Value = 100 . 엑셀 셀에 서식을 프로그램으로 적용할 수 있나요? 예, IronXL은 배경색( cell.Style.SetBackgroundColor("#FF0000") ), 테두리, 글꼴 및 숫자 서식을 포함한 포괄적인 서식 지정을 지원합니다. C#에서 Excel 수식을 사용하는 방법은 무엇인가요? IronXL의 Formula 속성을 사용하여 worksheet["A1"].Formula = "=SUM(B1:B10)" 와 같이 수식을 적용하거나 range.Sum() , range.Avg() 와 같은 내장 메서드를 사용할 수 있습니다. 엑셀 워크시트를 암호로 보호하려면 어떻게 해야 하나요? IronXL에서 워크시트를 보호하려면 worksheet.ProtectSheet("YourPassword") 를 사용하여 무단 수정을 방지하십시오. 엑셀 파일의 인쇄 설정을 어떻게 구성하나요? IronXL의 PrintSetup을 사용하여 인쇄 속성을 설정합니다. worksheet.PrintSetup.PrintOrientation = PrintOrientation.Landscape 및 worksheet.SetPrintArea("A1:Z100") . 엑셀 통합 문서를 여러 형식으로 저장하는 방법은 무엇인가요? IronXL의 SaveAs 메서드를 사용하여 통합 문서를 저장하세요. XLSX 형식의 경우 workbook.SaveAs("file.xlsx") 사용하고, 다른 형식의 경우 SaveAsCsv() 또는 SaveAsJson() 사용하세요. 데이터베이스의 데이터를 엑셀 시트에 채우려면 어떻게 해야 하나요? IronXL을 사용하여 데이터베이스에서 데이터를 가져와 worksheet["A1"].Value = dataFromDatabase 와 같은 메서드를 사용하여 셀에 설정함으로써 워크시트를 채울 수 있습니다. C#을 사용하여 Excel 시트에서 창 고정 기능을 구현하려면 어떻게 해야 할까요? IronXL을 사용하여 워크시트의 창을 고정하려면 worksheet.FreezePanes(1, 1) 사용하여 맨 위 행과 가장 왼쪽 열을 고정하여 탐색을 더 쉽게 할 수 있습니다. 제이콥 멜러 지금 바로 엔지니어링 팀과 채팅하세요 최고기술책임자 제이콥 멜러는 Iron Software의 최고 기술 책임자(CTO)이자 C# PDF 기술을 개척한 선구적인 엔지니어입니다. Iron Software의 핵심 코드베이스를 최초로 개발한 그는 창립 초기부터 회사의 제품 아키텍처를 설계해 왔으며, CEO인 캐머런 리밍턴과 함께 회사를 NASA, 테슬라, 그리고 전 세계 정부 기관에 서비스를 제공하는 50명 이상의 직원을 보유한 기업으로 성장시켰습니다. 제이콥은 맨체스터 대학교에서 토목공학 학사 학위(BEng)를 최우등으로 취득했습니다(1998~2001). 1999년 런던에서 첫 소프트웨어 회사를 설립하고 2005년 첫 .NET 컴포넌트를 개발한 후, 마이크로소프트 생태계 전반에 걸쳐 복잡한 문제를 해결하는 데 전문성을 발휘해 왔습니다. 그의 대표 제품인 IronPDF 및 Iron Suite .NET 라이브러리는 전 세계적으로 3천만 건 이상의 NuGet 설치 수를 기록했으며, 그의 핵심 코드는 전 세계 개발자들이 사용하는 다양한 도구에 지속적으로 활용되고 있습니다. 25년의 실무 경험과 41년의 코딩 전문성을 바탕으로, 제이콥은 차세대 기술 리더들을 양성하는 동시에 기업 수준의 C#, Java, Python PDF 기술 혁신을 주도하는 데 주력하고 있습니다. A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php Line: 12 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/libraries/Render.php Line: 489 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Tutorials.php Line: 29 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php Line: 19 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/libraries/Render.php Line: 489 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Tutorials.php Line: 29 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once 시작할 준비 되셨나요? Nuget 다운로드 1,890,100 | 버전: 2026.3 방금 출시되었습니다 무료 체험 시작하기 NuGet 무료 다운로드 총 다운로드 수: 1,890,100 라이선스 보기 Docs 이 페이지에서 시작하기시작하기 개요Interop 없이 C#에서 Excel과 작업하기라이선스 키 사용IronXL 라이브러리를 설치하세요macOS에서 사용리눅스에서 사용클라우드/컨테이너에 배포Azure에 배포AWS에 배포Docker에 설정기타 .NET 언어 지원.NET MAUI에서 Excel로 작업하기Blazor에서 Excel 파일 읽기VB.NET Excel 파일 작업튜토리얼C#에서 Excel 파일을 읽는 방법C#으로 Excel 파일 생성하기C#을 사용하여 Excel 파일을 열고 쓰는 방법방법워크북스프레드시트 만들기스프레드시트 불러오기C#에서 Excel로 내보내기XLSX 파일 읽기 (C#)C#에서 CSV 파일을 읽는 방법ASP.NET 웹 앱에서 Excel 파일 읽기.NET에서 CSV 파일 작성C#에서 Excel 워크시트 열기데이터 테이블을 CSV로 변환XLSX 파일을 CSV, JSON, XML 형식으로 변환스프레드시트 파일 형식 변환데이터세트로 가져오기 및 내보내기통합 문서 메타데이터 편집암호를 사용하여 통합 문서를 암호화합니다.워크시트 관리워크시트수식 편집범위 선택명명된 범위이름이 지정된 테이블차트 생성 및 편집냉동 유리행과 열을 추가합니다행과 열의 크기를 자동으로 조정합니다암호로 워크시트를 암호화하세요그룹화 및 그룹 해제이미지 추가, 추출 및 삭제C#으로 Excel 차트 생성하기세포 범위.NET에서 Excel 값을 작성하기C#에서 Excel 데이터 가져오기셀 범위 정렬트림 셀 범위클리어 셀복사 셀하이퍼링크 설정셀 병합 및 병합 해제셀 글꼴 및 크기세포 경계 및 정렬배경 패턴 및 색상조건부 서식수학 함수댓글 추가셀 데이터 서식 설정C#에서 Excel 파일 편집문제 해결문제 해결 가이드IronXL에 라이선스 키를 적용하세요파일 크기 제한Excel의 제한 사항: 문자열 목록에 대한 데이터 유효성 검사자주 묻는 질문IronXL - 보안 CVE예외 메시지Web.config에서 라이선스 키 설정하기제품 업데이트변경 로그주요 이정표주요 성과: 실적주요 성과: 향상비디오 튜토리얼API 참조 이 페이지에서 IronXL이란 무엇이며, 엑셀 파일 생성에 IronXL을 사용하는 이유는 무엇일까요?How Do I Install the IronXL C# Library?.NET 프로젝트는 어떻게 설정하나요?How Do I Create an Excel Workbook in C#?엑셀에서 셀 값을 설정하는 방법은 무엇인가요?엑셀 셀에 서식을 적용하는 방법은 무엇인가요?How Do I Use Excel Formulas in C#?워크시트 및 인쇄 속성은 어떻게 설정하나요?엑셀 통합 문서를 어떻게 저장하나요?요약다음 단계는 무엇인가요? A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php Line: 17 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php Line: 71 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/views/products/tutorials/index.php Line: 2 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 552 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Tutorials.php Line: 29 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php Line: 24 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php Line: 71 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/views/products/tutorials/index.php Line: 2 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 552 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Tutorials.php Line: 29 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once 아직도 스크롤하고 계신가요? 빠른 증거를 원하시나요? PM > Install-Package IronXl.Excel 샘플을 실행하세요 데이터가 스프레드시트로 변환되는 것을 지켜보세요. NuGet 무료 다운로드 총 다운로드 수: 1,890,100 라이선스 보기