C#에서 Excel 워크시트를 관리하는 방법

C#에서 Interop 없이 워크시트 관리 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL은 C#에서 Office Interop 없이 워크시트 관리를 가능하게 하며, 간단한 메소드 호출로 워크시트를 생성, 삭제, 이동, 복사할 수 있습니다. 이 라이브러리는 Interop 종속성을 제거하면서 프로그램을 통해 Excel 워크시트 운영에 대해 완전한 제어를 제공합니다.

빠른 시작: 새 워크시트 즉시 추가

이 예제는 불필요한 코딩이나 Interop 없이 IronXL을 사용하여 단 한 줄로 새로운 워크시트를 생성하는 것을 보여주며, C#에서 즉각적인 Excel 워크북 관리를 가능하게 합니다.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronXl.Excel 설치하기

    PM > Install-Package IronXl.Excel
  2. 다음 코드 조각을 복사하여 실행하세요.

    IronXl.WorkBook wb = IronXl.WorkBook.Create(ExcelFileFormat.XLSX).CreateWorkSheet("NewSheet");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronXL 사용 시작하기

    arrow pointer

필수적인 워크시트 관리 작업은 무엇입니까?

워크시트를 관리하려면 워크시트를 생성, 이동 및 삭제할 수 있어야 합니다. IronXL은 각 작업을 단 한 줄의 코드로 수행합니다. 기본적인 C# Excel Interop 접근 방식과 달리, IronXL은 COM 객체 관리나 명시적인 리소스 정리가 필요 없는 간결한 API를 제공합니다.

참고해 주세요아래에 언급된 모든 인덱스 위치는 0부터 시작하는 인덱스를 따릅니다

워크시트 작업에서 0 기반 인덱싱이 중요한 이유는 무엇입니까?

0 기반 인덱싱은 첫 번째 워크시트가 위치 0에 있다는 것을 의미하며, 1이 아닙니다. 이 규칙은 C# 배열 및 컬렉션 인덱싱과 일치하여 개발자들에게 직관적입니다. 여러 작업 시트를 관리할 때 잘못된 오프셋으로 인해 잘못된 작업 시트를 조작하거나 범위 외 예외를 만나는 오류를 방지할 수 있습니다.

각 작업 시트 관리 방법을 언제 사용해야 하나요?

다양한 시나리오에서는 서로 다른 작업 시트 작업이 필요합니다. Use CreateWorksheet when generating reports or organizing data by categories. Apply SetSheetPosition when establishing logical flow for data presentation. The RemoveWorksheet method helps clean up temporary worksheets or consolidate data. 각 방법을 언제 사용할지 이해하면 워크북 구조와 사용자 경험이 향상됩니다.

여러 작업 시트를 관리할 때 일반적인 함정은 무엇인가요?

일반적인 실수로는 모든 작업 시트를 제거하려는 시도(엑셀에는 최소한 하나가 필요), 작업 시트를 만들 때 중복 이름 사용, 그리고 작업 후 변경 사항 저장을 잊는 경우가 포함됩니다. 또한, 기존 스프레드시트를 로드할 때는 항상 작업 시트 존재 여부를 확인한 후 작업을 수행하여 런타임 예외를 피해야 합니다.

새 작업 시트를 어떻게 만드나요?

CreateWorksheet 메서드는 새 워크시트를 만듭니다. 워크시트 이름이 유일한 매개변수로 필요합니다. 이 메서드는 생성된 작업 시트 개체를 반환하여 생성 직후 셀을 병합하는 등의 추가 작업을 할 수 있게 합니다.

중복 작업 시트 이름을 사용하면 어떻게 되나요?

이미 존재하는 이름으로 작업 시트를 생성하려 할 때, IronXL은 자동으로 번호를 붙여 고유하게 만듭니다. 예시로, "Sheet1"을 생성하려 할 때 이미 존재하면 "Sheet1_1"이 됩니다. 이 자동 이름 변경은 충돌을 방지하고 예외 발생 없이 코드를 계속 실행할 수 있게 합니다.

작업 시트 생성 후 연속 작업을 어떻게 연결하나요?

CreateWorksheet이(가) WorkSheet 객체를 반환하기 때문에 효율적인 코딩을 위해 연산을 체인할 수 있습니다. 이 플루언트 인터페이스 패턴을 사용하면 작업 시트를 생성하고 즉시 셀 값 설정, 서식 적용, 범위 작업 등의 작업을 수행할 수 있습니다. 다음은 예시입니다.

// Create and immediately populate a worksheet
WorkSheet newSheet = workBook.CreateWorkSheet("Sales Data")
    .SetCellValue("A1", "Product")
    .SetCellValue("B1", "Revenue");

// Apply formatting
newSheet["A1:B1"].Style.Font.Bold = true;
newSheet["A1:B1"].Style.BackgroundColor = "#4472C4";
// Create and immediately populate a worksheet
WorkSheet newSheet = workBook.CreateWorkSheet("Sales Data")
    .SetCellValue("A1", "Product")
    .SetCellValue("B1", "Revenue");

// Apply formatting
newSheet["A1:B1"].Style.Font.Bold = true;
newSheet["A1:B1"].Style.BackgroundColor = "#4472C4";
$vbLabelText   $csharpLabel

작업 시트의 이름 명명 규칙은 무엇인가요?

엑셀 작업 시트 이름은 1-31자 길이어야 하며, 이 문자들을 포함할 수 없습니다: \ / ? * [ ]. 또한, 이름은 비어 있거나 공백으로만 구성될 수 없습니다. IronXL은 이름을 자동으로 검증하고 잘못된 문자가 감지되면 예외를 던져 엑셀 호환성을 유지합니다.

:path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-create-worksheet.cs
using IronXL;

// Create new Excel spreadsheet
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);

// Create worksheets
WorkSheet workSheet1 = workBook.CreateWorkSheet("workSheet1");
WorkSheet workSheet2 = workBook.CreateWorkSheet("workSheet2");
WorkSheet workSheet3 = workBook.CreateWorkSheet("workSheet3");
WorkSheet workSheet4 = workBook.CreateWorkSheet("workSheet4");


workBook.SaveAs("createNewWorkSheets.xlsx");
$vbLabelText   $csharpLabel
새 작업 시트를 생성하기 위한 추가 버튼이 있는 workSheet1-4을 표시하는 엑셀 작업 시트 탭

작업 시트 위치를 어떻게 변경하나요?

SetSheetPosition 메서드는 워크시트의 위치를 변경합니다. 두 개의 매개 변수가 필요합니다: 워크시트 이름은 String으로, 그리고 그 인덱스 위치는 Integer으로.

왜 작업 시트 정렬이 필요한가요?

작업 시트 정렬은 논리적인 데이터 흐름을 만들고 탐색을 개선합니다. 재무 보고서에서는 요약 시트를 먼저 배치하고, 그 다음에 세부 내역을 위치시킬 수 있습니다. 프로젝트 추적 워크북에서는 시트가 시간 순서대로 또는 부서별로 조직되어 사용자가 정보를 더 빨리 찾을 수 있게 합니다. 이러한 조직화는 비즈니스 용도로 전문적인 스프레드시트를 만들 때 중요해집니다.

위치를 변경하면 다른 작업 시트는 어떻게 되나요?

작업 시트를 이동할 때 다른 작업 시트의 위치도 연속성을 유지하도록 IronXL이 자동으로 조정됩니다. 위치 3에서 위치 0으로 작업 시트를 이동하면 위치 0, 1, 2의 시트를 한 위치 오른쪽으로 이동시킵니다. 이 자동 재인덱싱은 작업 시트 순서에 틈이 없도록 보장합니다.

작업 시트를 시작 또는 끝으로 이동하려면 어떻게 하나요?

시작으로 이동은 간단합니다 - 위치 0을 사용하세요. 끝으로 이동하기 위해서는 워크북의 작업 시트 수에서 1을 뺀 값을 사용하세요. 실질적인 예는 다음과 같습니다:

// Move worksheet to the beginning
workBook.SetSheetPosition("ImportantSheet", 0);

// Move worksheet to the end
int lastPosition = workBook.WorkSheets.Count - 1;
workBook.SetSheetPosition("ArchiveSheet", lastPosition);
// Move worksheet to the beginning
workBook.SetSheetPosition("ImportantSheet", 0);

// Move worksheet to the end
int lastPosition = workBook.WorkSheets.Count - 1;
workBook.SetSheetPosition("ArchiveSheet", lastPosition);
$vbLabelText   $csharpLabel
:path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-sheet-position.cs
using IronXL;

WorkBook workBook = WorkBook.Load("createNewWorkSheets.xlsx");

// Set worksheet position
workBook.SetSheetPosition("workSheet2", 0);

workBook.SaveAs("setWorksheetPosition.xlsx");
$vbLabelText   $csharpLabel
네 개의 탭 가운데 첫 번째에서 세 번째 위치로 이동한 workSheet1을 표시하는 엑셀 작업 시트 탭

활성 작업 시트를 어떻게 설정하나요?

활성 작업 시트를 설정하면 워크북이 엑셀 또는 기타 시각화 도구에서 처음 열릴 때 기본적으로 열리는 작업 시트를 지정합니다. 워크시트의 인덱스 위치와 함께 SetActiveTab 메서드를 사용하십시오.

활성 작업 시트를 설정하는 것이 왜 중요하죠?

활성 작업 시트는 사용자가 워크북을 열 때 처음으로 보는 것을 결정합니다. 이 첫 인상은 대시보드, 보고서 및 데이터 입력 양식에 중요합니다. 적절한 활성 작업 시트를 설정함으로써 사용자가 가장 관련성 있는 정보에 즉시 접근하도록 하여 다중 시트 워크북에서의 사용성을 향상하고 혼란을 줄일 수 있습니다.

활성 작업 시트와 선택된 작업 시트의 차이점은 무엇인가요?

활성 작업 시트는 현재 표시되고 상호작용할 준비가 된 것입니다. 선택된 워크시트는 서식 설정이나 삭제와 같은 그룹 작업을 위해 선택된 여러 시트일 수 있습니다. IronXL의 SetActiveTab은 파일 열 때 나타나는 단일 워크시트를 특별히 제어하며, 워크시트 선택은 배치 작업 수행 시 다른 메서드를 통해 처리됩니다.

현재 활성화된 워크시트를 어떻게 확인하나요?

IronXL은 현재 활성화된 워크시트를 식별하기 위한 속성을 제공합니다. 이는 작업 전 활성 상태를 유지하거나 표시될 워크시트를 검증해야 할 때 유용합니다. 엑셀 파일을 읽을 때 워크북의 기본 보기를 이해하기 위해 이 정보를 사용할 수 있습니다:

// Get the currently active worksheet index
int activeIndex = workBook.ActiveSheetIndex;

// Get the active worksheet object
WorkSheet activeSheet = workBook.WorkSheets[activeIndex];
Console.WriteLine($"Active worksheet: {activeSheet.Name}");
// Get the currently active worksheet index
int activeIndex = workBook.ActiveSheetIndex;

// Get the active worksheet object
WorkSheet activeSheet = workBook.WorkSheets[activeIndex];
Console.WriteLine($"Active worksheet: {activeSheet.Name}");
$vbLabelText   $csharpLabel
:path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-set-active-tab.cs
using IronXL;

WorkBook workBook = WorkBook.Load("createNewWorkSheets.xlsx");

// Set active for workSheet3
workBook.SetActiveTab(2);

workBook.SaveAs("setActiveTab.xlsx");
$vbLabelText   $csharpLabel
작업 전/후 비교: 엑셀 워크시트 탭에서 workSheet1이 활성화된 것이 workSheet3으로 변경됨

워크시트를 어떻게 삭제하나요?

워크시트의 인덱스 위치와 함께 RemoveWorksheet 메서드를 사용하여 워크시트를 제거하십시오. 위치를 모를 경우, 대신 워크시트 이름을 사용하십시오.

마지막 워크시트를 제거하려고 하면 어떻게 되나요?

엑셀은 워크북에 최소 하나의 워크시트가 필요합니다. 마지막 남은 워크시트를 제거하려고 하면 IronXL은 엑셀 파일의 완전성을 유지하기 위해 예외를 발생시킵니다. 제거 전에 항상 워크시트 수를 확인하거나 적절한 오류 핸들링 코드에 삭제 코드를 감싸십시오:

// Safe worksheet removal with validation
if (workBook.WorkSheets.Count > 1)
{
    workBook.RemoveWorkSheet("TempSheet");
}
else
{
    Console.WriteLine("Cannot remove the last worksheet");
}
// Safe worksheet removal with validation
if (workBook.WorkSheets.Count > 1)
{
    workBook.RemoveWorkSheet("TempSheet");
}
else
{
    Console.WriteLine("Cannot remove the last worksheet");
}
$vbLabelText   $csharpLabel

여러 워크시트를 효율적으로 제거하려면 어떻게 해야 하나요?

여러 워크시트를 제거할 때, 인덱스 이동 문제를 피하기 위해 가장 높은 인덱스부터 거꾸로 작업하십시오. 대안으로, 먼저 워크시트 이름을 수집한 다음 이름으로 제거하십시오. 이 접근법은 임시 워크시트를 정리하거나 데이터를 통합할 때 특히 유용합니다:

// Remove multiple worksheets by collecting names first
var sheetsToRemove = workBook.WorkSheets
    .Where(ws => ws.Name.StartsWith("Temp_"))
    .Select(ws => ws.Name)
    .ToList();

foreach (var sheetName in sheetsToRemove)
{
    workBook.RemoveWorkSheet(sheetName);
}
// Remove multiple worksheets by collecting names first
var sheetsToRemove = workBook.WorkSheets
    .Where(ws => ws.Name.StartsWith("Temp_"))
    .Select(ws => ws.Name)
    .ToList();

foreach (var sheetName in sheetsToRemove)
{
    workBook.RemoveWorkSheet(sheetName);
}
$vbLabelText   $csharpLabel

워크시트를 삭제하기 전에 안전 점검은 무엇인가요?

워크시트를 삭제하기 전에 중요한 데이터를 포함하고 있지 않은지, 다른 시트에서 참조하는 수식이 있는지, 또는 워크북의 다른 부분이 의존하는 이름 범위가 없는지 확인하십시오. 데이터 복구를 위해 삭제 전에 백업을 만들거나 워크시트를 복사하는 것을 고려하십시오.

:path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-remove-worksheet.cs
using IronXL;

WorkBook workBook = WorkBook.Load("createNewWorkSheets.xlsx");

// Remove workSheet1
workBook.RemoveWorkSheet(1);

// Remove workSheet2
workBook.RemoveWorkSheet("workSheet2");

workBook.SaveAs("removeWorksheet.xlsx");
$vbLabelText   $csharpLabel
워크시트 제거 전후 엑셀 스크린샷 - 네 개의 탭이 두 개의 탭으로 줄어듦

워크시트를 어떻게 복사하거나 복제하나요?

같은 워크북 내에서 또는 다른 워크북 간에 워크시트를 복사하십시오. 같은 워크북 내에서 복제하려면 CopySheet 메서드를 사용하십시오. 다른 워크북으로 복사하려면 CopyTo 메서드를 사용하십시오.

워크북 내에서 복사할 때와 워크북 간에 복사할 때는 언제인가요?

템플릿을 만들거나, 백업 시트를 만들거나, 기존 데이터 레이아웃의 변형을 만들 때는 같은 워크북 내에서 복사하십시오. 다양한 소스에서 데이터를 통합하거나, 다양한 부서에서 표준화된 보고서를 만들거나, 개별 기여로부터 마스터 워크북을 만들 때는 워크북 간 복사가 뛰어납니다. 민감한 데이터를 위해, 복사 후 백업을 생성하거나 워크북에 비밀번호를 설정하는 것을 고려하십시오.

워크시트를 복제할 때 무엇이 복사되나요?

IronXL의 워크시트 복사는 모든 필수 요소를 보존합니다: 셀 값, 수식, 서식, 병합된 셀, 열 너비, 행 높이 및 데이터 유효성 검사 규칙. 차트, 이미지 및 기타 임베드된 객체도 복사됩니다. 이 포괄적인 복제로 인해 복사된 워크시트는 원본과의 충실도를 완벽하게 유지하여 템플릿이나 보관용 복사를 생성하는 데 이상적입니다.

복사 시 수식 참조를 어떻게 처리하나요?

워크시트를 복사할 때 상대적 수식 참조는 자동으로 새로운 워크시트 컨텍스트에 맞게 조정됩니다. 그러나 절대 참조 및 시트 간 참조는 주의가 필요합니다. 복사 후 다른 워크시트를 참조하는 수식을 검토하여 정확한 데이터 소스를 가리키도록 하십시오. 다음은 일반적인 시나리오를 처리하는 방법입니다:

// Example: Copying a worksheet and updating formula references
WorkSheet original = workBook.GetWorkSheet("Original");
WorkSheet copied = original.CopySheet("Duplicate");

// Update formulas that need to reference the new sheet
foreach (var cell in copied["A1:Z100"])
{
    if (cell.IsFormula)
    {
        // Replace references as needed
        string formula = cell.Formula;
        // Update formula logic here based on your needs
    }
}
// Example: Copying a worksheet and updating formula references
WorkSheet original = workBook.GetWorkSheet("Original");
WorkSheet copied = original.CopySheet("Duplicate");

// Update formulas that need to reference the new sheet
foreach (var cell in copied["A1:Z100"])
{
    if (cell.IsFormula)
    {
        // Replace references as needed
        string formula = cell.Formula;
        // Update formula logic here based on your needs
    }
}
$vbLabelText   $csharpLabel
:path=/static-assets/excel/content-code-examples/how-to/manage-worksheet-copy-worksheet.cs
using IronXL;

WorkBook firstBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook secondBook = WorkBook.Create();

// Select first worksheet in the workbook
WorkSheet workSheet = firstBook.DefaultWorkSheet;

// Duplicate the worksheet to the same workbook
workSheet.CopySheet("Copied Sheet");

// Duplicate the worksheet to another workbook with the specified name
workSheet.CopyTo(secondBook, "Copied Sheet");

firstBook.SaveAs("firstWorksheet.xlsx");
secondBook.SaveAs("secondWorksheet.xlsx");
$vbLabelText   $csharpLabel
Excel worksheet tabs showing original 'Sheet1' and newly created 'Copied Sheet' after worksheet duplication
Excel worksheet tab showing 'Copied Sheet' name with navigation controls and status bar

자주 묻는 질문

C#에서 엑셀 파일에 새 워크시트를 추가하려면 어떻게 해야 하나요?

IronXL은 단 한 줄의 코드로 새 워크시트를 추가하는 간단한 CreateWorksheet 메서드를 제공합니다. Office Interop과 달리 COM 개체를 관리하거나 복잡한 리소스 정리를 처리할 필요 없이 원하는 시트 이름을 지정하여 CreateWorksheet 메서드를 호출하기만 하면 됩니다.

워크시트에서 0부터 시작하는 인덱싱과 1부터 시작하는 인덱싱의 차이점은 무엇인가요?

IronXL은 0부터 시작하는 인덱싱을 사용합니다. 즉, 첫 번째 워크시트는 1이 아닌 0번째 위치에 있습니다. 이는 표준 C# 컬렉션 인덱싱과 일치하며 SetSheetPosition과 같은 메서드를 사용하여 워크시트 순서를 변경할 때 발생하는 1의 오차를 방지하는 데 도움이 됩니다.

엑셀이 설치되어 있지 않아도 프로그램으로 워크시트 순서를 바꿀 수 있나요?

네, IronXL의 SetSheetPosition 메서드를 사용하면 Excel을 설치하지 않고도 워크시트 순서를 변경할 수 있습니다. 이 메서드는 간단한 인덱스 값을 사용하여 워크시트를 통합 문서의 원하는 위치로 이동하므로 Office Interop 종속성이 필요하지 않습니다.

엑셀 통합 문서에서 워크시트를 삭제하려면 어떻게 해야 하나요?

IronXL의 RemoveWorksheet 메서드를 사용하여 워크시트를 프로그램적으로 삭제할 수 있습니다. 이 메서드는 워크시트 이름 또는 인덱스 위치를 인수로 받습니다. Excel에는 최소 하나 이상의 워크시트가 필요하므로 IronXL은 마지막으로 남은 워크시트를 삭제하지 못하도록 제한한다는 점에 유의하십시오.

만약 같은 이름으로 워크시트를 만들려고 하면 어떻게 되나요?

IronXL은 통합 문서에 이미 존재하는 이름으로 워크시트를 생성하려고 하면 예외를 발생시킵니다. CreateWorksheet 메서드를 호출할 때는 항상 기존 워크시트 이름이 있는지 확인하거나 고유한 명명 규칙을 사용하십시오.

엑셀 파일을 열 때 어떤 워크시트가 표시되도록 설정할 수 있나요?

IronXL의 SetActiveTab 메서드는 Excel 파일을 열 때 활성화될 워크시트를 제어합니다. 이 메서드에 워크시트 인덱스 또는 참조를 전달하기만 하면, 해당 시트가 통합 문서를 열 때 사용자에게 가장 먼저 표시됩니다.

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

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

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

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/Howto.php
Line: 31
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/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

시작할 준비 되셨나요?
Nuget 다운로드 1,890,100 | 버전: 2026.3 방금 출시되었습니다

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/how-to/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/Howto.php
Line: 31
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/how-to/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/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronXl.Excel
샘플을 실행하세요 데이터가 스프레드시트로 변환되는 것을 지켜보세요.