Ir para o conteúdo do rodapé
USANDO O IRONXL
Como ajustar automaticamente as células no Excel usando C# | IronXL

Como ajustar automaticamente as células no Excel usando C#

No mundo movido a dados de hoje, o Microsoft Excel continua sendo uma ferramenta indispensável para empresas e profissionais. Esteja você calculando números, criando relatórios ou visualizando dados, a versatilidade do Excel é incomparável. No entanto, quando se trata de manipular arquivos Excel de forma programática em C#, os desenvolvedores muitas vezes enfrentam desafios. É aí que a biblioteca IronXL entra em jogo, oferecendo uma solução contínua para automação do Excel no ambiente C#.

A biblioteca IronXL da Iron Software fornece APIs intuitivas para manipular documentos Excel de forma contínua nos ambientes C# .NET e VB.NET. Com o IronXL, não há necessidade de instalar componentes Microsoft Office ou Excel Interop. Ele permite que os desenvolvedores leiam, editem e criem arquivos de planilha Excel facilmente, oferecendo suporte completo para várias estruturas .NET, incluindo .NET 8, 7, 6, Core Frameworks e ambientes Azure.

Neste artigo, aprenderemos como ajustar automaticamente a largura e a altura das colunas no Excel usando C# e IronXL.

  1. Crie um projeto Visual Studio para demonstrar o ajuste automático de células em uma planilha Excel.
  2. Instale a biblioteca IronXL no projeto.
  3. Ajuste automaticamente a largura das colunas usando a biblioteca IronXL.
  4. Ajuste automaticamente a altura das linhas usando a biblioteca IronXL.
  5. Defina a largura das colunas e altura das linhas manualmente usando a biblioteca IronXL.

IronXL

A biblioteca IronXL é uma biblioteca .NET versátil projetada para simplificar a manipulação de planilhas Excel para desenvolvedores C#. Oferecendo uma API rápida e intuitiva, o IronXL permite aos usuários acessar, modificar e gerar arquivos Excel facilmente, sem depender do Office Interop. Sua compatibilidade se estende a várias estruturas .NET, incluindo .NET Core e Azure, sem a necessidade de dependências especiais ou instalação do Microsoft Office. Com suporte para várias linguagens .NET, como C#, VB.NET e F#, o IronXL atende a uma ampla gama de cenários de desenvolvimento, incluindo aplicações console, web e de desktop. Além disso, a compatibilidade do IronXL se estende a diferentes plataformas, incluindo Windows, Linux, macOS, Docker, Azure e AWS, tornando-se uma ferramenta indispensável para desenvolvedores que buscam integração eficiente com Excel em diversos ambientes.

Recursos Principais da biblioteca IronXL

  1. Integração Fácil: IronXL se integra perfeitamente às aplicações C#, proporcionando uma API simples e intuitiva para automação do Excel. Os desenvolvedores podem começar rapidamente com uma curva de aprendizado mínima.
  2. Ler e Escrever Arquivos Excel: Com o IronXL, você pode facilmente ler dados de arquivos Excel existentes e escrever dados em novas planilhas ou existentes. Essa capacidade é essencial para tarefas como importação/exportação de dados e geração de relatórios.
  3. Formatação e Estilo: IronXL permite que você aplique formatação e estilo às células do Excel, incluindo fontes, cores, bordas e mais. Isso garante que seus arquivos Excel gerados mantenham uma aparência profissional e bem acabada.
  4. Suporte a Fórmulas: Precisa realizar cálculos complexos ou aplicar fórmulas aos dados do Excel? IronXL atende sua necessidade com suporte para fórmulas do Excel, permitindo automatizar cálculos e manipulação de dados.
  5. Ajuste Automático das Células: Um dos recursos úteis oferecidos pelo IronXL é a capacidade de ajustar automaticamente as células no Excel, garantindo que o conteúdo se encaixe perfeitamente em cada célula sem truncamento.

Passo 1: Crie um Projeto no Visual Studio para Demonstrar o Ajuste Automático das Células em uma planilha do Excel.

Para começar, vamos criar um projeto no Visual Studio conforme mostrado abaixo. Selecione o modelo de aplicação Console da lista

Como Ajustar Automaticamente Células no Excel Usando C#: Figura 1 - Abra o Visual Studio e adicione um novo projeto do tipo Aplicação de Console em C#.

Forneça um nome e local para o projeto

Como Ajustar Automaticamente Células no Excel Usando C#: Figura 2 - Em seguida, especifique o nome do projeto e a localização.

Selecione a versão do .NET necessária no menu suspenso e clique em criar

Como Ajustar Automaticamente Células no Excel Usando C#: Figura 3 - Então, selecione a versão requerida do .NET Framework e clique em Criar.

Passo 2: Instale a biblioteca IronXL no projeto.

Instale a biblioteca IronXL a partir do Visual Studio NuGet Package Manager

Como Ajustar Automaticamente Células no Excel Usando C#: Figura 4 - Instale o IronXL usando o Gerenciar Pacote NuGet para Solução, pesquisando 'IronXL' na barra de pesquisa do Gerenciador de Pacotes NuGet, depois selecione o projeto e clique no botão Instalar.

O pacote também pode ser instalado usando a linha de comando NuGet

dotnet add package IronXl.Excel --version 2024.3.20
# or
Install-Package IronXl.Excel
dotnet add package IronXl.Excel --version 2024.3.20
# or
Install-Package IronXl.Excel
SHELL

Como Ajustar Automaticamente Células no Excel Usando C#: Figura 5 - Pacote NuGet IronXl.Excel

Com isso, estamos prontos para começar a programar.

Passo 3: Ajustar automaticamente a largura das colunas usando a biblioteca IronXL

O método AutoSizeColumn da biblioteca IronXL ajusta a largura de uma coluna para caber seu conteúdo. Este método calcula a largura do texto com base na fonte usada na célula. Se a fonte exata não estiver disponível no sistema, ele tentará medí-la usando uma fonte padrão. Se nenhuma fonte padrão for encontrada, ele tentará utilizar qualquer fonte disponível. No entanto, se nenhuma fonte for encontrada, uma exceção será lançada. Ele usa um índice de coluna baseado em zero como parâmetro. Deve estar dentro dos limites definidos por 0 e (ColumnCount - 1). ArgumentException é lançado se o columnIndex fornecido estiver fora do intervalo válido. SixLabors.Fonts.FontException é lançado quando nenhuma fonte está instalada na máquina.

Agora, vamos ver como podemos usar isso para redimensionar um arquivo Excel. Você pode baixar um arquivo Excel de exemplo aqui.

Arquivo de entrada

Aqui você pode ver que as larguras das colunas não estão devidamente definidas e, portanto, é muito difícil de ler. Agora vamos ver como podemos usar a biblioteca IronXL para ajustar automaticamente as larguras das colunas em uma folha de Excel.

Como Ajustar Automaticamente Células no Excel Usando C#: Figura 6 - Arquivo Excel de entrada

using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();

for (int i = 0; i < colCount; i++)
{ 
    // Auto-fit column width for index i
    workSheet.AutoSizeColumn(i);
}

// Save the autofitted workbook as a new file
workBook.SaveAs("autoResize.xlsx"); // Result file
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();

for (int i = 0; i < colCount; i++)
{ 
    // Auto-fit column width for index i
    workSheet.AutoSizeColumn(i);
}

// Save the autofitted workbook as a new file
workBook.SaveAs("autoResize.xlsx"); // Result file
$vbLabelText   $csharpLabel

Explicação do código

  1. Inicialmente, carregamos o FinancialSample.xlsx usando o método WorkBook.Load().
  2. Em seguida, obtemos a contagem de colunas para ajustes.
  3. Iteramos por todos os índices de coluna para ajustar automaticamente as larguras das colunas.
  4. Finalmente, salvamos os resultados em um novo arquivo chamado autoResize.xlsx.

Arquivo de saída

Abaixo você pode ver todas as colunas estão ajustadas automaticamente e visíveis.

Como Ajustar Automaticamente Células no Excel Usando C#: Figura 7 - Saída do Excel com largura de coluna redimensionada automaticamente.

Passo 4: Ajuste Automático da Altura das Linhas usando a biblioteca IronXL

O método AutoSizeRow ajusta a altura de uma linha para acomodar seu conteúdo. É importante notar que este método calcula a altura do texto com base na fonte usada na célula. Se a fonte exata não estiver disponível no sistema, ele tentará medí-la usando uma fonte padrão. Se nenhuma fonte padrão for encontrada, ele tentará utilizar qualquer fonte disponível. No entanto, se nenhuma fonte for encontrada, uma exceção será lançada. Ele usa um índice de linha baseado em zero como parâmetro. Deve estar dentro dos limites definidos por 0 e (RowCount - 1). ArgumentException é lançado se o rowIndex fornecido estiver fora do intervalo válido. SixLabors.Fonts.FontException é lançado quando nenhuma fonte está instalada na máquina.

Arquivo Excel de Entrada

No exemplo abaixo, você pode ver que algumas linhas não estão dimensionadas para acomodar os dados adequadamente. Agora vamos ver o código C# para ajustar automaticamente as alturas das linhas no Excel.

Como Ajustar Automaticamente Células no Excel Usando C#: Figura 8 - Arquivo Excel de entrada

using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var rowCount = workSheet.RowCount;

for (int i = 0; i < rowCount; i++)
{
    // Auto-fit row height for index i
    workSheet.AutoSizeRow(i);
}

// Save the autofitted workbook as a new file
workBook.SaveAs("autoResizeRows.xlsx"); // Result file
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var rowCount = workSheet.RowCount;

for (int i = 0; i < rowCount; i++)
{
    // Auto-fit row height for index i
    workSheet.AutoSizeRow(i);
}

// Save the autofitted workbook as a new file
workBook.SaveAs("autoResizeRows.xlsx"); // Result file
$vbLabelText   $csharpLabel

Explicação do código

  1. Inicialmente, carregamos o FinancialSample.xlsx usando o método WorkBook.Load().
  2. Recuperamos o total de linhas.
  3. Iteramos por todos os índices de linha para dimensionar automaticamente a altura das linhas.
  4. Finalmente, salvamos os resultados em um novo arquivo chamado autoResizeRows.xlsx.

Arquivo Excel de saída

Como Ajustar Automaticamente Células no Excel Usando C#: Figura 9 - Saída do Excel com altura de linha redimensionada automaticamente.

Passo 5: Definir a largura de coluna e altura de linha manualmente usando IronXL

Além de dimensionar automaticamente linhas e colunas, o IronXL também oferece a opção de ajustar manualmente a largura e altura para um valor específico de altura de linha e largura de coluna.

Arquivo Excel de Entrada

Como Ajustar Automaticamente Células no Excel Usando C#: Figura 10 - Arquivo Excel de entrada

using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Manually set row height and column width
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width

// Save the workbook with specific values set
workBook.SaveAs("specificValue.xlsx");
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Manually set row height and column width
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width

// Save the workbook with specific values set
workBook.SaveAs("specificValue.xlsx");
$vbLabelText   $csharpLabel

Explicação do código

  1. Carregue o FinancialSample.xlsx usando a função WorkBook.Load().
  2. Recupere linhas e colunas específicas para ajustar manualmente sua altura e largura.
  3. Defina os valores desejados de altura e largura.
  4. Salve o arquivo modificado com o nome specificValue.xlsx.

Arquivo Excel de saída

Como Ajustar Automaticamente Células no Excel Usando C#: Figura 11 - Saída do Excel com largura e altura da coluna ajustadas manualmente.

Licenciamento

Obtenha uma avaliação gratuita para utilizar livremente todos os recursos do IronXL por 30 dias.

A licença obtida deve ser colocada no arquivo appSettings.json:

{
  "IronXl.License.LicenseKey": "myTrialKey"
}

Conclusão

Com recursos como AutoSizeColumn e AutoSizeRow de IronXL, os desenvolvedores podem garantir facilmente que as planilhas do Excel se ajustem dinamicamente ao conteúdo que contêm, seja ele dados importados, relatórios dinâmicos, conteúdo gerado por usuários ou resultados de análise de dados.

A compatibilidade do IronXL com várias estruturas .NET, incluindo .NET Core e Azure, garante que os desenvolvedores possam incorporar automação do Excel em uma ampla gama de aplicativos sem dependências do Microsoft Office ou Excel Interop. Além disso, o suporte do IronXL para múltiplas linguagens e plataformas .NET faz dele uma escolha versátil para desenvolvedores que buscam simplificar tarefas de manipulação de Excel em diferentes ambientes.

Em essência, o IronXL capacita os desenvolvedores a aumentar a produtividade, precisão e flexibilidade em projetos de automação do Excel, oferecendo uma suíte abrangente de recursos para atender às demandas do desenvolvimento moderno em C#. Quer seja gerando relatórios, analisando dados ou apresentando informações, o IronXL fornece as ferramentas necessárias para se destacar na automação do Excel dentro do ecossistema C#.

Perguntas frequentes

Como posso ajustar automaticamente o tamanho das células no Excel usando C#?

Para ajustar automaticamente o tamanho das células no Excel usando C#, utilize os métodos AutoSizeColumn e AutoSizeRow do IronXL, que ajustam automaticamente a largura das colunas e a altura das linhas para se adequarem ao conteúdo.

Quais são os benefícios de usar uma biblioteca .NET para automação do Excel?

Utilizar uma biblioteca .NET como o IronXL para automatizar tarefas no Excel simplifica processos como leitura, escrita e formatação de arquivos do Excel, sem a necessidade de instalar o Microsoft Office. Isso aumenta a produtividade e a precisão em aplicações C#.

Como posso ajustar manualmente a largura das colunas e a altura das linhas no Excel usando C#?

Com o IronXL, você pode ajustar manualmente a largura da coluna e a altura da linha usando os métodos GetColumn e GetRow para selecionar colunas e linhas específicas e, em seguida, definir suas propriedades Width e Height .

O IronXL é compatível com projetos .NET Core?

Sim, o IronXL é totalmente compatível com projetos .NET Core, permitindo que os desenvolvedores integrem recursos de automação do Excel perfeitamente em ambientes .NET modernos.

Como faço para instalar o IronXL em um projeto .NET?

Para instalar o IronXL em um projeto .NET, use o Gerenciador de Pacotes NuGet do Visual Studio ou execute o comando dotnet add package IronXl.Excel na linha de comando.

Posso usar o IronXL sem ter o Excel instalado no meu computador?

Sim, o IronXL permite que você trabalhe com arquivos do Excel programaticamente em C# sem precisar ter o Microsoft Excel instalado em sua máquina.

O que devo fazer se encontrar uma exceção de fonte ao ajustar automaticamente as células?

Se você encontrar uma exceção SixLabors.Fonts.FontException durante o ajuste automático de células, verifique se as fontes necessárias estão disponíveis em seu sistema, pois o IronXL as utiliza para calcular as dimensões do texto.

Como o IronXL oferece suporte a várias linguagens .NET?

O IronXL oferece suporte a várias linguagens .NET, como C#, VB.NET e F#, proporcionando versatilidade e flexibilidade para desenvolvedores que trabalham em diferentes ambientes de programação.

Onde devo adicionar a chave de licença do IronXL ao meu projeto?

A chave de licença do IronXL deve ser adicionada ao arquivo appSettings.json do seu projeto, sob a chave 'IronXl.License.LicenseKey'.

Quais são algumas das principais funcionalidades do IronXL para automação do Excel?

O IronXL oferece recursos importantes, como fácil integração com aplicativos C#, leitura e gravação de arquivos Excel, aplicação de formatação, suporte a fórmulas do Excel e ajuste automático de células para otimizar a exibição do conteúdo.

Jordi Bardia
Engenheiro de Software
Jordi é extremamente proficiente em Python, C# e C++, e quando não está utilizando suas habilidades na Iron Software, dedica-se à programação de jogos. Compartilhando as responsabilidades por testes, desenvolvimento e pesquisa de produtos, Jordi agrega imenso valor à melhoria contínua dos produtos. Essa experiência diversificada o mantém ...
Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me