C#에서 엑셀 행 및 열 자동 크기 조정 방법
IronXL은 AutoSizeRow()와 AutoSizeColumn() 같은 메서드를 통해 C#에서 행 및 열을 자동으로 조정하여 수동 스프레드시트 형식을 제거하고 병합된 셀 계산을 지원합니다. 이 기능은 셀 차원을 내용에 맞게 동적으로 조정하여 수동 개입 없이 전문가 수준의 스프레드시트를 보장합니다.
빠른 시작: 단일 호출로 열이나 행 자동 크기 조정
IronXL을 사용하면 한 줄로 모든 행이나 열의 크기를 조정할 수 있습니다. 셀 내용을 기반으로 크기를 조정하려면 WorkSheet.AutoSizeColumn(int, bool) 또는 WorkSheet.AutoSizeRow(int, bool)을/를 사용하세요 (병합된 셀 포함 가능). 이 접근 방식은 Excel 설치가 필요 없이 모든 .NET 플랫폼에서 작동합니다.
-
NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronXL.Excel 설치하기
-
다음 코드 조각을 복사하여 실행하세요.
// One-line: auto-resize column A including merged cells workSheet.AutoSizeColumn(0, true); // Or auto-resize row 5 quickly workSheet.AutoSizeRow(4, true); -
실제 운영 환경에서 테스트할 수 있도록 배포하세요.
무료 체험판으로 오늘 프로젝트에서 IronXL 사용 시작하기
최소 워크플로우(5단계)
- C# 라이브러리를 다운로드하여 Excel에서 행 및 열 크기를 자동으로 조정하세요
- 원하는 엑셀 파일을 불러오세요
AutoSizeRow메서드를 사용하여 행을 자동으로 조정하십시오AutoSizeColumn메서드를 사용하여 내용 너비를 기반으로 열 크기를 조정하십시오- 높이와 너비 값을 필요에 맞게 설정하세요.
행을 자동으로 크기 조정하는 방법은?
정해진 행의 높이를 해당 내용에 기반하여 자동으로 조정하려면 AutoSizeRow 메서드를 사용하세요. 이 기능은 셀 내의 모든 텍스트가 보이도록 하여 잘림을 방지하고 가독성을 향상시킵니다. Interop 없이 Excel 파일 작업 시, IronXL은 폰트 크기, 셀 내용, 서식 속성을 기반으로 최적의 행 높이를 계산합니다.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-rows.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize on row 2
workSheet.AutoSizeRow(1);
workBook.SaveAs("autoResize.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize on row 2
workSheet.AutoSizeRow(1)
workBook.SaveAs("autoResize.xlsx")
자동 크기 조정 알고리즘은 글꼴 메트릭, 셀 패딩 및 텍스트 줄 바꿈 설정을 고려하여 최적의 높이를 결정합니다. 전통적인 Excel 자동화에서 전환하는 개발자들에게 Excel 설치가 필요 없는 효율적인 대안을 제공합니다.
결과는 어떻게 보이나요?
열은 어떻게 자동으로 크기 조정하나요?
내용 길이에 따라 열 너비를 조정하려면 AutoSizeColumn 메서드를 사용하세요. 이 메서드는 각 열의 가장 긴 내용을 분석하여 너비를 적절히 조정하여 가로 스크롤 없이 모든 데이터가 보이도록 합니다. 알고리즘은 텍스트 길이, 숫자 서식, 날짜 표시 및 필요한 너비에 영향을 미치는 다른 셀 서식을 고려합니다.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize to rows individually
workSheet.AutoSizeRow(0, true);
workSheet.AutoSizeRow(1, true);
workSheet.AutoSizeRow(2, true);
workBook.SaveAs("advanceAutoResizeRow.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize to rows individually
workSheet.AutoSizeRow(0, True)
workSheet.AutoSizeRow(1, True)
workSheet.AutoSizeRow(2, True)
workBook.SaveAs("advanceAutoResizeRow.xlsx")
재무 데이터나 보고서를 작업할 때 적절한 크기의 열은 가독성에 매우 중요합니다. IronXL의 자동 크기 조정 기능은 셀 테두리 및 정렬과 같은 기능과 통합되어 전문적인 스프레드시트를 만듭니다.
결과는 어떻게 보이나요?
병합된 셀로 고급 행 크기 조정은 어떻게 하나요?
AutoSizeRow 메서드의 또 다른 오버로드는 둘째 부울 매개변수를 사용합니다. 이 매개 변수는 병합된 셀을 크기 조정할 때 고려하도록 합니다. 엑셀에서 병합된 셀 작업 시, 자동 크기 조정 동작은 내용이 여러 셀에 걸쳐 있을 때 더 복잡해집니다.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize to rows individually
workSheet.AutoSizeRow(0, true);
workSheet.AutoSizeRow(1, true);
workSheet.AutoSizeRow(2, true);
workBook.SaveAs("advanceAutoResizeRow.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize to rows individually
workSheet.AutoSizeRow(0, True)
workSheet.AutoSizeRow(1, True)
workSheet.AutoSizeRow(2, True)
workBook.SaveAs("advanceAutoResizeRow.xlsx")
병합 셀 계산은 어떻게 작동하나요?
내용이 192px 높이에 있고 3개의 행에 걸쳐 있는 병합된 영역에 위치할 경우, 이러한 행 중 하나에 자동 크기 조정을 적용하면 알고리즘은 192px을 3으로 나누어 각 행에 64px이 됩니다. AutoSizeRow 메서드는 각 행에 개별적으로 적용해야 합니다. 이 분배는 병합된 내용이 병합 영역의 모든 행에 올바르게 표시되도록 합니다.
값이 false로 설정되면 어떻게 되나요?
false로 설정하면 AutoSizeRow 메서드는 가장 긴 내용을 가진 셀에 기반하여 행 높이를 조정합니다. Microsoft Excel에서는 셀 병합 시 좌상단 값만 남기고 나머지를 삭제하지만, IronXL의 Merge 작업은 병합 영역의 다른 셀의 값을 보존하여 복잡한 스프레드시트 작업을 더욱 유연하게 합니다.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-rows-false.cs
using IronXL;
workSheet.Merge("A1:A3");
workSheet.AutoSizeRow(0, false);
workSheet.AutoSizeRow(1, false);
workSheet.AutoSizeRow(2, false);
Imports IronXL
workSheet.Merge("A1:A3")
workSheet.AutoSizeRow(0, False)
workSheet.AutoSizeRow(1, False)
workSheet.AutoSizeRow(2, False)
시연 목적을 위해 저는 이 엑셀 자동 너비 맞춤 기능 대신 행 높이를 수동으로 조정하여 상하 패딩을 추가하지 않도록 했습니다.
useMergedCells 파라미터를 false로 설정하면 병합된 셀의 높이는 고려되지 않습니다. 각 행의 높이는 자체 내용만을 기반으로 계산됩니다. 이 접근 방식은 병합된 영역과 상관없이 일관된 행 높이를 유지합니다.
병합 셀로 고급 열 크기 조정은 어떻게 하나요?
AutoSizeRow과 유사하게 병합된 셀의 너비를 고려하여 열 크기 조정을 수행할 수 있습니다. true으로 설정하면, 병합된 셀에 가장 긴 내용이 있는 경우, 조정된 열 너비는 병합 영역의 열 수로 병합된 셀의 너비를 나눈 값이 됩니다. 복잡한 레이아웃의 스프레드시트를 만들 때 이 기능이 도움이 됩니다.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Apply auto resize to columns individually
workSheet.AutoSizeColumn(0, true);
workSheet.AutoSizeColumn(1, true);
workSheet.AutoSizeColumn(2, true);
workBook.SaveAs("advanceAutoResizeColumn.xlsx");
Imports IronXL
' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Apply auto resize to columns individually
workSheet.AutoSizeColumn(0, True)
workSheet.AutoSizeColumn(1, True)
workSheet.AutoSizeColumn(2, True)
workBook.SaveAs("advanceAutoResizeColumn.xlsx")
병합 셀 너비 계산은 어떻게 작동하나요?
내용이 117px 너비를 가지고 2개의 열에 걸쳐 있는 병합된 영역일 경우, 열에 자동 크기 조정을 적용하면 각각의 열은 59px이 됩니다. AutoSizeColumn 메서드는 각 열에 개별적으로 적용해야 합니다. 이 비례 배분은 병합된 내용이 병합 영역의 모든 열에 올바르게 표시되도록 합니다.
값이 false로 설정되면 어떻게 되나요?
false로 설정되면, AutoSizeColumn 메서드는 가장 긴 내용을 가진 셀에 기반하여 너비를 조정합니다. Microsoft Excel에서는 셀 병합 시 좌상단 값만 유지하고 나머지를 삭제하지만, IronXL의 Merge 메서드는 병합된 영역의 다른 셀의 값을 보존하여 개발자에게 데이터에 대한 더 많은 제어를 제공합니다.
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-advance-columns-false.cs
workSheet.Merge("A1:B1");
workSheet.AutoSizeColumn(0, false);
workSheet.AutoSizeColumn(1, false);
workSheet.Merge("A1:B1")
workSheet.AutoSizeColumn(0, False)
workSheet.AutoSizeColumn(1, False)
병합된 셀 너비가 우선시되지 않아 각 열의 내용 너비를 기반으로 계산된 결과 너비 변경이 없습니다.
Excel과 IronXL 자동 크기 조정의 차이점은 무엇입니까?
Excel의 기본 자동 맞춤 기능과 IronXL 구현의 차이점을 이해하면 스프레드시트 작업 자동화 시 개발자가 적절한 선택을 할 수 있습니다. 이 차이점은 플랫폼 간의 일관성을 유지하거나 셀 크기에 대해 정확한 제어가 필요할 때 중요합니다.
행의 차이는 무엇입니까?
Excel의 행 높이 자동맞춤 기능은 셀에 눈에 띄는 상하 여백을 적용합니다. IronXL은 추가 여백 없이 콘텐츠를 위한 정확한 공간을 계산하여 행 높이를 정확하게 제어합니다. 이 차이는 데이터가 밀집된 경우나 정밀한 인쇄 레이아웃이 필요한 작업에서 중요합니다.
열의 차이는 무엇입니까?
Excel의 열 너비 자동맞춤 기능은 셀에 좌우 패딩을 적용하지만 눈에 띄지 않게 합니다. IronXL은 콘텐츠의 정확한 너비에 초점을 맞추며 공간 최적화가 중요한 자동 보고 시스템에서 유용합니다.
높이와 너비를 수동으로 조정하려면 어떻게 해야 합니까?
자동으로 크기를 계산하고 조정하는 AutoSizeRow 및 AutoSizeColumn 메서드를 사용하는 것 외에도 특정 요구 사항에 맞게 수동으로 열과 행의 너비와 높이를 조정할 수 있습니다. 수동 크기 조정은 표준화된 보고서 형식을 구현하거나 특정 치수가 필요한 템플릿으로 작업할 때 유용합니다.
- 높이 조정:
RangeRow의Height속성을 설정 - 너비 조정:
RangeColumn의Width속성을 설정
:path=/static-assets/excel/content-code-examples/how-to/autosize-rows-columns-manual.cs
using IronXL;
// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 10; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 10; // Set width
workBook.SaveAs("manualHeightAndWidth.xlsx");
Imports IronXL
' Load existing spreadsheet
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
Dim row As RangeRow = workSheet.GetRow(0)
row.Height = 10 ' Set height
Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 10 ' Set width
workBook.SaveAs("manualHeightAndWidth.xlsx")
Excel에서 높이와 너비에 어떤 단위를 사용합니까?
Excel에서 높이와 너비 측정 단위가 다릅니다. 높이는 1/20 포인트 단위로 측정되고, 너비는 Normal 스타일에 지정된 글꼴을 사용하는 셀에 들어갈 수 있는 "0"의 수를 기반으로 합니다. IronXL의 API를 사용할 때 이러한 변환을 이해하는 것이 정밀한 레이아웃을 위해 필수적입니다.
단위 변환을 간소화하기 위해 IronXL 값을 Microsoft Excel에서 디스플레이 픽셀로 해석하십시오. 픽셀은 화면 해상도에 관계없이 1/96 인치로 정의됩니다. Excel은 해상도에 독립적이며 물리적 픽셀에 의존하지 않습니다.
IronXL과 Excel의 높이 및 너비 측정 간의 관계:
- 높이:
RangeRow.Height = 10는 약1 pixel의 결과를 줍니다 - 너비:
RangeColumn.Width = 23.255는 1 픽셀과 일치합니다
정밀한 스프레드시트 레이아웃 제어가 필요한 개발자에게 이 변환 요소는 정확한 차원 계산을 가능하게 합니다. 다른 형식화 기능과 함께 수동 크기 조정은 Excel 문서의 외형을 완전하게 제어할 수 있게 합니다. 생산 환경에서 이러한 기능을 사용하는 응용 프로그램을 배포할 때 라이선스 키를 적용하는 것을 잊지 마십시오.
자주 묻는 질문
C#에서 셀 내용에 따라 엑셀 행의 크기를 자동으로 조절하는 방법은 무엇인가요?
IronXL은 셀 내용에 따라 행 높이를 자동으로 조정하는 AutoSizeRow 메서드를 제공합니다. workSheet.AutoSizeRow(rowIndex, includeMergedCells)를 호출하기만 하면 됩니다. 여기서 rowIndex는 0부터 시작하는 행 번호입니다. 이 메서드는 글꼴 크기, 셀 내용 및 서식 속성을 기반으로 최적의 높이를 계산하여 모든 텍스트가 잘리지 않고 표시되도록 합니다.
엑셀 스프레드시트에서 프로그램으로 열 크기를 자동으로 조절할 수 있나요?
네, IronXL은 열 너비를 자동으로 조정하는 AutoSizeColumn 메서드를 제공합니다. workSheet.AutoSizeColumn(columnIndex, includeMergedCells)를 사용하면 열의 가장 긴 내용을 기준으로 열 크기를 조정할 수 있습니다. 이 알고리즘은 텍스트 길이, 숫자 서식, 날짜 표시 및 기타 셀 서식을 고려하여 최적의 너비를 결정합니다.
병합된 셀에서도 자동 크기 조정 기능이 작동하나요?
IronXL은 AutoSizeRow 및 AutoSizeColumn 메서드의 부울 매개변수를 통해 병합된 셀의 자동 크기 조정을 지원합니다. 적절한 크기를 결정할 때 병합된 셀의 계산을 포함하려면 두 번째 매개변수를 true로 설정하십시오(예: workSheet.AutoSizeColumn(0, true)).
행과 열의 크기를 자동으로 조정할 때 어떤 요소들이 고려되나요?
IronXL의 자동 크기 조정 알고리즘은 글꼴 크기, 셀 여백, 텍스트 줄 바꿈 설정, 숫자 서식, 날짜 표시 방식, 셀 테두리 등 여러 요소를 고려합니다. 이러한 종합적인 접근 방식을 통해 수동 조정 없이 모든 콘텐츠를 수용할 수 있도록 셀 크기가 적절하게 조정된 전문적인 스프레드시트를 만들 수 있습니다.
자동 크기 조정 기능을 사용하려면 Microsoft Excel이 설치되어 있어야 하나요?
아니요, IronXL은 Excel 설치 없이 독립적으로 작동합니다. 라이브러리가 모든 계산을 자체적으로 수행하므로 Excel을 설치할 수 없는 서버 환경 및 배포 시나리오에 적합합니다. 이 방식은 모든 .NET 플랫폼에서 작동합니다.
여러 행이나 열의 크기를 한 번에 자동으로 조절할 수 있나요?
IronXL의 AutoSizeRow 및 AutoSizeColumn 메서드는 개별 행/열에 적용되지만, 여러 항목을 반복하여 크기를 조정할 수도 있습니다. 이를 통해 전체 워크시트 또는 특정 범위를 일괄 처리하여 Excel 워크플로를 효율적으로 자동화할 수 있습니다.

