programing

EPPlus의 자동 열 폭

topblog 2023. 4. 8. 07:52
반응형

EPPlus의 자동 열 폭

열의 텍스트가 길 때 열을 자동 너비로 만드는 방법은 무엇입니까?

이 코드를 사용합니다.

 Worksheet.Column(colIndex).AutoFitColumn() 'on all columns'
 Worksheet.cells.AutoFitColumns()
 Worksheet.Column(colIndex).BestFit = True  'on all columns'

이러한 메서드는 모두 동작하지 않습니다.

작동시킬 수 있는 방법이 있나요?

주의: 일부 텍스트는 Unicode를 사용합니다.

사용하다AutoFitColumns단, 셀을 지정해야 합니다(워크시트 전체).

VB.NET

Worksheet.Cells(Worksheet.Dimension.Address).AutoFitColumns()

C#

Worksheet.Cells[Worksheet.Dimension.Address].AutoFitColumns();

워크시트를 작성한 후에는 이 메서드를 호출해야 합니다.

EPplus 버전 3.1.3.0에서 이 코드를 사용했는데 정상적으로 동작하고 있습니다.

worksheet.Column(1).AutoFit();

여기서 워크시트는 코드에서 만든 워크시트를 참조하는 변수입니다(정적 메서드를 사용하는 클래스가 아닙니다!).

컬럼을 채운 후 이 메서드를 호출해야 합니다.

범위를 지정하지 않고 셀을 삽입할 수 있다는 점을 지적하고 싶습니다.모든 열의 형식을 지정한 후 이 값을 호출하십시오.

worksheet.Cells.AutoFitColumns()

오래된 질문인 것은 알지만, 아래의 코드를 사용하고 있기 때문에, 당신이 무엇을 하려고 했는지에 대한 직접적인 대응이 되는 것 같습니다.

using (var xls = new ExcelPackage())
{
    var ws = xls.Workbook.Worksheets.Add("Some Name");

    //**Add Column Names to worksheet!**
    //**Add data to worksheet!**

    const double minWidth = 0.00;
    const double maxWidth = 50.00;

    ws.Cells.AutoFitColumns(minWidth, maxWidth);

    return pkg.GetAsByteArray();
}

조금 늦은 건 알지만 오늘도 같은 문제가 있었어요.를 가지고 있는 경우worksheet.DefaultColWidth정의하면 효과가 없을 거야나는 그 선을 제거하고 추가했다.Worksheet.cells.AutoFitColumns();이제 효과가 있어요

잘 되고 있어요.

시험:

ExcelWorksheet wsSheet1 = ExcelPkg.Workbook.Worksheets.Add("Sheet1");
wsSheet1.Cells[wsSheet1.Dimension.Address].AutoFitColumns();
ExcelPkg.SaveAs();

의 후속 버전으로서의 .NET Core.NET은 EPPplus 라이브러리에서 자동 응답 셀 기능을 더 이상 지원하지 않습니다.

worksheet.Cells.AutoFitColumns();

또는

worksheet.Column(1).AutoFit();

예외의 원인:

"System.Drawing is not supported on this platform."

시스템도면 어셈블리는 다른 솔루션으로 대체해야 하는 GDI 및 Windows 전용 라이브러리에 의존합니다.이 문제에 대한 해결책은 나에게 알려지지 않았다.

사용해야 했다worksheet.Column(1).AutoFit(0);AutoFit()은 효과가 없었습니다.

너비를 계산해야 합니다.라이브러리에는 원하는 대로 작동하는 자동 크기 조정 기능이 없습니다.

자동 피팅 열은 줄바꿈된 텍스트 및 수식이 있는 셀과 함께 작동하지 않습니다.

문제를 해결하는 방법의 예에 대해서는, http://epplus.codeplex.com/discussions/218294?ProjectName=epplus 를 참조해 주세요.

저는 이것을 사용하고 있고, 잘 작동하고 있습니다.

Dim objExcel As New ExcelPackage
Dim Sheet As ExcelWorksheet = objExcel.Workbook.Worksheets.Add("SheetName")
Sheet.Cells("B1:BN").AutoFitColumns()

언급URL : https://stackoverflow.com/questions/15642950/auto-column-width-in-epplus

반응형