Como redimensionar automaticamente linhas e colunas no Excel | IronXL

Como redimensionar automaticamente linhas e colunas do Excel em C#

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

IronXL fornece redimensionamento automático de linhas e colunas em C# com métodos como AutoSizeRow() e AutoSizeColumn() que ajustam dimensões com base no conteúdo das células, eliminando a formatação manual de planilhas e suportando cálculos de células mescladas. Este recurso automatiza fluxos de trabalho do Excel adaptando dinamicamente as dimensões das células ao seu conteúdo, garantindo planilhas profissionais sem intervenção manual.

Início rápido: Redimensione automaticamente uma coluna ou linha com uma única chamada

Com o IronXL, você pode redimensionar qualquer linha ou coluna em uma linha. Use WorkSheet.AutoSizeColumn(int, bool) ou WorkSheet.AutoSizeRow(int, bool) para ajustar as dimensões com base no conteúdo das células (células mescladas opcionais). Esta abordagem funciona em todas as plataformas .NET sem exigir a instalação do Excel.

  1. Instale IronXL com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronXl.Excel
  2. Copie e execute este trecho de código.

    // One-line: auto-resize column A including merged cells
    workSheet.AutoSizeColumn(0, true);
    // Or auto-resize row 5 quickly
    workSheet.AutoSizeRow(4, true);
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Como redimensionar automaticamente linhas?

O método AutoSizeRow redimensiona automaticamente a altura das linhas especificadas com base no seu conteúdo. Este recurso garante que todo o texto dentro das células seja visível, evitando truncamento e melhorando a legibilidade. When working with Excel files without Interop, IronXL calculates optimal row height based on font size, cell content, and formatting attributes.

: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");
$vbLabelText   $csharpLabel

O algoritmo de redimensionamento automático considera métricas de fontes, preenchimento de células e configurações de quebra de texto para determinar a altura ideal. Para desenvolvedores migrando de automação Excel tradicional, isso oferece uma alternativa eficiente que não requer instalação do Excel.

Como é o resultado?

Comparação antes e depois da grade de dados mostrando linhas redimensionadas automaticamente se expandindo para exibir informações completas dos funcionários

Como redimensionar automaticamente colunas?

Use o método AutoSizeColumn para redimensionar a largura da coluna com base no tamanho do conteúdo. Este método analisa o conteúdo mais longo em cada coluna e ajusta a largura de acordo, garantindo que todos os dados sejam visíveis sem rolagem horizontal. O algoritmo considera comprimento do texto, formatação de números, exibição de datas e outras formatações de células que afetam a largura necessária.

: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");
$vbLabelText   $csharpLabel

Ao trabalhar com dados financeiros ou relatórios, colunas devidamente dimensionadas são cruciais para a legibilidade. IronXL's auto-resize functionality integrates with features like cell borders and alignment to create professional spreadsheets.

Como é o resultado?

Planilha do Excel antes e depois do redimensionamento automático: colunas estreitas com texto truncado versus colunas devidamente dimensionadas mostrando conteúdo completo

PontasTodas as posições de índice de linha e coluna seguem a indexação baseada em zero.


Como lidar com redimensionamento avançado de linhas com células mescladas?

Outra sobrecarga do método AutoSizeRow leva um segundo parâmetro Booleano. Este parâmetro permite que você considere células mescladas ao redimensionar. When working with merged cells in Excel, auto-resize behavior becomes more complex as content spans multiple cells.

: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");
$vbLabelText   $csharpLabel

Como funciona o cálculo de células mescladas?

Se o conteúdo tem uma altura de 192 pixels e está localizado em uma região mesclada que abrange 3 linhas, ao aplicar o redimensionamento automático a qualquer uma dessas linhas, o algoritmo divide 192 px por 3, resultando em 64 px para cada linha. O método AutoSizeRow precisa ser aplicado a cada linha individualmente. Essa distribuição garante que o conteúdo mesclado seja exibido corretamente em todas as linhas na região mesclada.

Comparação antes e depois do recurso de redimensionamento automático de linhas do Excel mostrando a otimização da altura de 99 para 33 pixels

E se o valor for definido como falso?

Quando configurado para falso, o método AutoSizeRow ajusta a altura da linha com base na célula com o maior conteúdo. In Microsoft Excel, merging cells retains only the upper-left value and clears the rest. However, IronXL's Merge operation preserves values of other cells in the merged region, providing more flexibility with complex spreadsheets.

: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);
$vbLabelText   $csharpLabel
Comparação antes e depois mostrando o recurso de redimensionamento automático de linhas do Excel, melhorando a visibilidade do texto nas células da planilha

For demonstration purposes, I manually adjusted row height instead of using the Excel autofit row height function to avoid adding noticeable top and bottom padding.

Com o parâmetro useMergedCells definido para falso, a altura das células mescladas não é considerada. A altura de cada linha é calculada com base apenas no seu conteúdo. Essa abordagem mantém alturas de linha consistentes, independentemente das regiões mescladas.

Como Faço para Lidar com o Redimensionamento Avançado de Colunas com Células Mescladas?

Semelhante a AutoSizeRow, você pode fazer o redimensionamento da coluna considerar a largura da célula mesclada. Quando definido para true, se uma célula mesclada tiver o conteúdo mais longo, a largura da coluna redimensionada será igual à largura da célula mesclada dividida pelo número de colunas na região mesclada. This feature helps when creating spreadsheets with complex layouts.

: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");
$vbLabelText   $csharpLabel

Como Funciona o Cálculo da Largura da Célula Mesclada?

Se o conteúdo tiver uma largura de 117 pixels em uma região mesclada que abrange 2 colunas, aplicar redimensionamento automático a qualquer coluna resulta em 59 pixels para cada coluna. O método AutoSizeColumn deve ser aplicado a cada coluna individualmente. Essa distribuição proporcional garante que o conteúdo mesclado seja exibido corretamente em todas as colunas na região mesclada.

Comparação antes e depois mostrando o redimensionamento automático de colunas do Excel, reduzindo a largura da coluna B de 117 para 59 pixels

E se o valor for definido como falso?

Quando configurado para false, o método AutoSizeColumn ajusta a largura com base na célula com o conteúdo mais longo. In Microsoft Excel, merging cells keeps only the upper-left value and erases the rest. However, IronXL's Merge method preserves values of other cells in the merged region, giving developers more control over their data.

: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);
$vbLabelText   $csharpLabel
Comparação antes e depois das colunas de redimensionamento automático do Excel mostrando o ajuste otimizado da largura da coluna para dados de texto

A largura da célula mesclada não foi priorizada, resultando em nenhuma alteração de largura porque a largura de cada coluna foi calculada com base na largura do seu conteúdo.

Quais São as Diferenças entre o Redimensionamento Automático do Excel e do IronXL?

Compreender as diferenças entre a funcionalidade de ajuste automático nativa do Excel e a implementação do IronXL ajuda os desenvolvedores a tomar decisões informadas ao automatizar operações de planilhas. Essas diferenças são importantes ao manter a consistência entre plataformas ou quando é necessário controle preciso sobre as dimensões das células.

Como as Linhas Diferem?

A função de ajuste automático de altura de linhas do Excel aplica preenchimento superior e inferior notável às células. O IronXL fornece controle preciso sobre as alturas das linhas, calculando o espaço exato necessário para o conteúdo sem preenchimento adicional. Essa diferença é significativa ao trabalhar com dados densamente empacotados ou quando layouts de impressão precisos são necessários.

Comparação de redimensionamento automático do Excel versus IronXL mostrando diferentes manipulações de linha para dados de teste idênticos

Como as Colunas Diferem?

A função de ajuste automático de largura de coluna do Excel aplica preenchimento à esquerda e à direita das células, embora menos perceptível. IronXL focuses on exact content width, beneficial when working with automated reporting systems where space optimization is crucial.

Comparação de redimensionamento automático de colunas do Excel versus IronXL mostrando diferentes medições de largura para conteúdo idêntico

Como Faço para Redimensionar Altura e Largura Manualmente?

Além de usar os métodos AutoSizeRow e AutoSizeColumn para calcular e ajustar dimensões automaticamente, você pode ajustar manualmente a largura e a altura de colunas e linhas para atender a requisitos específicos. O dimensionamento manual é útil ao implementar formatos de relatório padronizados ou trabalhar com modelos que exigem dimensões específicas.

  • Ajustar altura: defina a propriedade Height de RangeRow
  • Ajustar largura: defina a propriedade Width de RangeColumn
: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");
$vbLabelText   $csharpLabel

Quais Unidades o Excel Usa para Altura e Largura?

As unidades de medida de altura e largura no Excel são diferentes. A altura é medida em 1/20 de um ponto, enquanto a largura é baseada no número de '0's que cabem em uma célula usando a fonte especificada no estilo Normal. When working with IronXL's API, understanding these conversions is essential for precise layouts.

Para simplificar a conversão de unidades, interprete os valores do IronXL como pixels de exibição no Microsoft Excel. Um pixel é definido como 1/96 de polegada, independentemente da resolução da tela. O Excel é independente de resolução e não depende de pixels físicos.

A relação entre as medições de altura e largura do IronXL e do Excel:

  • Altura: RangeRow.Height = 10 resulta em aproximadamente 1 pixel
  • Largura: RangeColumn.Width = 23.255 corresponde a 1 pixel

Para desenvolvedores que exigem controle preciso do layout da planilha, esses fatores de conversão permitem cálculos precisos de dimensões. Combinado com outros recursos de formatação, o dimensionamento manual oferece controle total sobre a aparência do documento Excel. Remember to apply your license key when deploying applications using these features in production.

Perguntas frequentes

Como posso redimensionar automaticamente as linhas do Excel com base no conteúdo das células em C#?

O IronXL fornece o método AutoSizeRow para ajustar automaticamente a altura das linhas com base no conteúdo das células. Basta chamar workSheet.AutoSizeRow(rowIndex, includeMergedCells), onde rowIndex é o número da linha (base zero). O método calcula a altura ideal com base no tamanho da fonte, no conteúdo da célula e nos atributos de formatação, garantindo que todo o texto seja visível sem cortes.

É possível redimensionar automaticamente as colunas em planilhas do Excel por meio de programação?

Sim, o IronXL oferece o método AutoSizeColumn para ajustar automaticamente a largura das colunas. Use workSheet.AutoSizeColumn(columnIndex, includeMergedCells) para redimensionar as colunas com base no seu conteúdo mais longo. O algoritmo considera o comprimento do texto, a formatação de números, a exibição de datas e outras formatações de células para determinar a largura ideal.

O redimensionamento automático funciona com células mescladas?

O IronXL suporta o redimensionamento automático de células mescladas através do parâmetro booleano nos métodos AutoSizeRow e AutoSizeColumn. Defina o segundo parâmetro como verdadeiro (por exemplo, workSheet.AutoSizeColumn(0, true)) para incluir os cálculos de células mescladas ao determinar as dimensões apropriadas.

Quais fatores são considerados ao redimensionar automaticamente linhas e colunas?

O algoritmo de redimensionamento automático do IronXL considera diversos fatores, incluindo métricas de fonte, espaçamento interno das células, configurações de quebra de texto, formatação de números, exibição de datas e bordas das células. Essa abordagem abrangente garante planilhas com aparência profissional e células dimensionadas corretamente, que acomodam todo o conteúdo sem intervenção manual.

Preciso ter o Microsoft Excel instalado para usar os recursos de redimensionamento automático?

Não, o IronXL funciona de forma independente, sem a necessidade de instalar o Excel. A biblioteca realiza todos os cálculos internamente, sendo ideal para ambientes de servidor e cenários de implantação onde o Excel não pode ser instalado. Essa abordagem funciona em todas as plataformas .NET.

Posso redimensionar automaticamente várias linhas ou colunas de uma só vez?

Embora os métodos AutoSizeRow e AutoSizeColumn do IronXL funcionem em linhas/colunas individuais, você pode facilmente percorrer vários itens para redimensioná-los. Isso permite o processamento em lote de planilhas inteiras ou intervalos específicos, automatizando fluxos de trabalho do Excel com eficiência.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

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

Pronto para começar?
Nuget Downloads 1,890,100 | Versão: 2026.3 acaba de ser lançado

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

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronXl.Excel
executar um exemplo Veja seus dados se transformarem em uma planilha.