Como definir formatos de dados de células em C# com IronXL
O IronXL permite formatar células do Excel com formatos de dados integrados, como moeda, porcentagens, datas e formatos de número personalizados, definindo a propriedade FormatString em células ou intervalos sem dependências de interoperabilidade.
Início rápido: Aplicar formatação integrada a uma única célula em uma linha
Este exemplo mostra como criar uma nova planilha do Excel e aplicar uma formatação integrada a uma célula específica usando a API do IronXL. Não são necessárias dependências de interoperabilidade — basta definir FormatString e salvar.
-
Instale IronXL com o Gerenciador de Pacotes NuGet
PM > Install-Package IronXL.Excel -
Copie e execute este trecho de código.
IronXl.WorkBook book = IronXl.WorkBook.Create(); book.DefaultWorkSheet["B2"].FormatString = IronXl.Formatting.BuiltinFormats.Currency2; -
Implante para testar em seu ambiente de produção.
Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita
Fluxo de trabalho mínimo (5 etapas)
- Baixe a biblioteca C# para definir o formato dos dados.
- Abra uma planilha do Excel existente ou crie uma nova.
- Defina a propriedade FormatString da célula, coluna, linha ou intervalo para o formato de dados desejado.
- Use o formato de dados integrado com a classe BuiltinFormats
- Exporte a planilha editada em vários tipos de arquivo.
Como faço para definir formatos de dados de células no Excel?
A propriedade FormatString pode ser acessada tanto por células quanto por intervalos. Portanto, é possível definir formatos de dados para células, colunas, linhas individuais e qualquer intervalo selecionado. Essa flexibilidade torna o IronXL particularmente poderoso quando você precisa trabalhar com arquivos do Excel em C# sem interoperabilidade .
A formatação de dados é essencial para apresentar informações de forma clara em planilhas. Seja na criação de relatórios financeiros com valores monetários, dados científicos com casas decimais precisas ou análises baseadas em datas, a formatação adequada garante que seus dados sejam legíveis e profissionais. O IronXL simplifica esse processo, fornecendo acesso direto ao mecanismo de formatação do Excel por meio de uma API simples.
:path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format.cs
using IronXL;
using IronXL.Formatting;
using System;
using System.Linq;
// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Set the data format to 12300.00%
workSheet["A1"].Value = 123;
workSheet["A1"].FormatString = BuiltinFormats.Percent2;
// Set the data format to 123.0000
workSheet["A2"].Value = 123;
workSheet["A2"].FormatString = "0.0000";
// Set data display format to range
DateTime dateValue = new DateTime(2020, 1, 1, 12, 12, 12);
workSheet["A3"].Value = dateValue;
workSheet["A4"].Value = new DateTime(2022, 3, 3, 10, 10, 10);
workSheet["A5"].Value = new DateTime(2021, 2, 2, 11, 11, 11);
IronXL.Range range = workSheet["A3:A5"];
// Set the data format to 1/1/2020 12:12:12
range.FormatString = "MM/dd/yy h:mm:ss";
workBook.SaveAs("dataFormats.xlsx");
Imports IronXL
Imports IronXL.Formatting
Imports System
Imports System.Linq
' Create a new workbook
Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Set the data format to 12300.00%
Private workSheet("A1").Value = 123
Private workSheet("A1").FormatString = BuiltinFormats.Percent2
' Set the data format to 123.0000
Private workSheet("A2").Value = 123
Private workSheet("A2").FormatString = "0.0000"
' Set data display format to range
Private dateValue As New DateTime(2020, 1, 1, 12, 12, 12)
Private workSheet("A3").Value = dateValue
Private workSheet("A4").Value = New DateTime(2022, 3, 3, 10, 10, 10)
Private workSheet("A5").Value = New DateTime(2021, 2, 2, 11, 11, 11)
Private range As IronXL.Range = workSheet("A3:A5")
' Set the data format to 1/1/2020 12:12:12
range.FormatString = "MM/dd/yy h:mm:ss"
workBook.SaveAs("dataFormats.xlsx")
Como posso definir os valores das células como strings sem conversão?
Ao definir o valor no IronXL, use StringValue em vez de Value para atribuir diretamente o valor exato à célula sem conversão automática. Isso funciona como colocar um apóstrofo antes do valor da célula no Excel. Essa técnica é particularmente útil ao trabalhar com códigos de produtos, números de telefone ou outros dados que devem permanecer como texto. Para manipulação de strings mais avançada, veja como escrever valores do Excel em .NET .
:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-stringvalue.cs
// Assign value as string
workSheet["A1"].StringValue = "4402-12";
' Assign value as string
workSheet("A1").StringValue = "4402-12"
Como faço para usar os formatos integrados no IronXL?
A biblioteca IronXL oferece uma variedade de strings de formatação predefinidas que podem ser acessadas através da classe IronXl.Formatting.BuiltinFormats para formatar células do Excel. Isso permite personalizar a forma como os dados são exibidos em suas planilhas do Excel. Esses formatos integrados abrangem os cenários de negócios mais comuns e são compatíveis com todas as versões do Excel.
Ao criar planilhas programaticamente, aplicar uma formatação consistente é crucial para manter padrões profissionais em todos os seus documentos. A classe BuiltinFormats fornece mais de 30 padrões de formatação pré-configurados que correspondem às opções de formatação padrão do Excel.
:path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format-builtin-formats.cs
using IronXL;
using IronXL.Formatting;
// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Use builtin formats
workSheet["A1"].Value = 123;
workSheet["A1"].FormatString = BuiltinFormats.Accounting0;
workBook.SaveAs("builtinDataFormats.xlsx");
Imports IronXL
Imports IronXL.Formatting
' Create a new workbook
Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Use builtin formats
Private workSheet("A1").Value = 123
Private workSheet("A1").FormatString = BuiltinFormats.Accounting0
workBook.SaveAs("builtinDataFormats.xlsx")
Quais formatos de dados integrados estão disponíveis?
Para o tipo Duration, os valores de entrada são representados em dias. Por exemplo, 1 dia equivale a 24 horas, e 1,05 dias equivalem a 25 horas e 12 minutos. Isso é particularmente útil ao trabalhar com dados do Excel que envolvem controle de tempo ou gerenciamento de projetos. Aqui estão os tipos de formato disponíveis:
Qual a função de cada tipo de formato?
General: Formato padrão que exibe números sem formatação específica.Duration1: Mostra a duração em minutos e segundos, como "mm:ss".Duration2: Mostra a duração em horas, minutos e segundos como "[h]:mm:ss".Duration3: Mostra a duração em minutos, segundos e milissegundos, como "mm:ss.0".Accounting0: Formato contábil sem decimais, parênteses para negativos como "#,##0_);(#,##0)."Accounting0Red: Formato contábil sem decimais, vermelho para números negativos como "#,##0_);Vermelho."Accounting2: Formato contábil com duas casas decimais, parênteses para números negativos como "#,##0.00;(#,##0.00)."Accounting2Red: Formato contábil com duas casas decimais, vermelho para números negativos como "#,##0.00_);Vermelho."Time1: Formato de 12 horas com AM/PM como "h:mm AM/PM".Time2: Formato de 12 horas com segundos e AM/PM como "h:mm:ss AM/PM".Time3: Formato de 24 horas sem segundos, como "h:mm".Time4: Formato de 24 horas com segundos como "h:mm:ss".ShortDate: Formato de data abreviado como "m/d/aa".ShortDateAndTime: Formato abreviado de data e hora como "m/d/aa h:mm".LongDate1: Data longa com mês, dia e ano no formato "d-mmm-aa".LongDate2: Data longa com dia e mês abreviado como "d-mmm".LongDate3: Data longa com mês e ano abreviados como "mmm-aa".Fraction1: Valores fracionários com um dígito, como "# ?/?".Fraction2: Valores fracionários com dois dígitos como "# ??/??."Scientific1: Notação científica com uma casa decimal, como "##0.0E+0".Scientific2: Notação científica com duas casas decimais, como "0,00E+00".Percent: Porcentagem sem decimais, como "0%".Percent2: Porcentagem com duas casas decimais, como "0,00%".Currency0: Moeda sem decimais, parênteses para negativos como "$#,##0_);($#,##0)."Currency0Red: Moeda sem decimais, vermelho para negativos como "$#,##0_);Vermelho."Currency2: Moeda com duas casas decimais, parênteses para números negativos como "$#,##0.00;($#,##0.00)."Currency2Red: Moeda com duas casas decimais, vermelho para números negativos como "$#,##0.00_);Vermelho."Thousands0: Números com separador de milhares, sem decimais como "#,##0".Thousands2: Números com separador de milhares, duas casas decimais como "#,##0.00".Number0: Números sem decimais, como "0".Number2: Números com duas casas decimais, como "0,00".Text: Formato de texto simples como "@".
A formatação de dados e a formatação de números no Excel controlam como números, datas, horas e outros dados são exibidos nas células, melhorando a legibilidade e garantindo a precisão dos dados. Com os formatos de dados, você pode apresentar informações em formatos específicos, como porcentagens ou moedas. Da mesma forma, os formatos de número permitem personalizar as casas decimais e as opções de exibição.
Como aplicar vários formatos a diferentes intervalos?
Em aplicações do mundo real, muitas vezes é necessário aplicar formatos diferentes a várias partes da planilha. Este exemplo demonstra a formatação de um relatório financeiro com múltiplos tipos de dados. Essa abordagem é particularmente útil ao exportar para o Excel em C# a partir de bancos de dados ou outras fontes de dados.
using IronXL;
using IronXl.Formatting;
using System;
// Create a financial report with multiple formats
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Headers
workSheet["A1"].Value = "Financial Report Q4 2023";
workSheet["A1"].Style.Font.Bold = true;
// Revenue section with currency formatting
workSheet["A3"].Value = "Revenue";
workSheet["B3"].Value = 2500000;
workSheet["B3"].FormatString = BuiltinFormats.Currency0;
// Growth percentage
workSheet["A4"].Value = "YoY Growth";
workSheet["B4"].Value = 0.157;
workSheet["B4"].FormatString = BuiltinFormats.Percent2;
// Date formatting
workSheet["A6"].Value = "Report Date";
workSheet["B6"].Value = DateTime.Now;
workSheet["B6"].FormatString = BuiltinFormats.LongDate1;
// Apply accounting format to expense columns
IronXl.Range expenseRange = workSheet["B8:B12"];
expenseRange.FormatString = BuiltinFormats.Accounting2Red;
// Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx");
using IronXL;
using IronXl.Formatting;
using System;
// Create a financial report with multiple formats
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Headers
workSheet["A1"].Value = "Financial Report Q4 2023";
workSheet["A1"].Style.Font.Bold = true;
// Revenue section with currency formatting
workSheet["A3"].Value = "Revenue";
workSheet["B3"].Value = 2500000;
workSheet["B3"].FormatString = BuiltinFormats.Currency0;
// Growth percentage
workSheet["A4"].Value = "YoY Growth";
workSheet["B4"].Value = 0.157;
workSheet["B4"].FormatString = BuiltinFormats.Percent2;
// Date formatting
workSheet["A6"].Value = "Report Date";
workSheet["B6"].Value = DateTime.Now;
workSheet["B6"].FormatString = BuiltinFormats.LongDate1;
// Apply accounting format to expense columns
IronXl.Range expenseRange = workSheet["B8:B12"];
expenseRange.FormatString = BuiltinFormats.Accounting2Red;
// Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx");
Imports IronXL
Imports IronXl.Formatting
Imports System
' Create a financial report with multiple formats
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
' Headers
workSheet("A1").Value = "Financial Report Q4 2023"
workSheet("A1").Style.Font.Bold = True
' Revenue section with currency formatting
workSheet("A3").Value = "Revenue"
workSheet("B3").Value = 2500000
workSheet("B3").FormatString = BuiltinFormats.Currency0
' Growth percentage
workSheet("A4").Value = "YoY Growth"
workSheet("B4").Value = 0.157
workSheet("B4").FormatString = BuiltinFormats.Percent2
' Date formatting
workSheet("A6").Value = "Report Date"
workSheet("B6").Value = DateTime.Now
workSheet("B6").FormatString = BuiltinFormats.LongDate1
' Apply accounting format to expense columns
Dim expenseRange As IronXl.Range = workSheet("B8:B12")
expenseRange.FormatString = BuiltinFormats.Accounting2Red
' Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx")
Este exemplo mostra como diferentes tipos de formato se combinam para criar documentos financeiros profissionais. Para opções de formatação mais avançadas, incluindo formatação condicional , você pode expandir ainda mais esses conceitos.
Ao trabalhar com grandes conjuntos de dados ou criar relatórios programaticamente, a formatação consistente torna-se fundamental. O sistema de formatação do IronXL integra-se perfeitamente com outros recursos, como funções matemáticas e edição de fórmulas , permitindo que você crie soluções de relatórios totalmente automatizadas.
Para desenvolvedores que estão migrando do Office Interop ou buscando melhor desempenho, o sistema de formatação do IronXL oferece uma vantagem significativa. Ao contrário das abordagens tradicionais, você pode formatar milhares de células de forma eficiente, sem a sobrecarga de interoperabilidade COM. Para saber mais sobre as melhores práticas de automação do Excel, explore nossa documentação completa do Excel .
Perguntas frequentes
Como formatar células do Excel em C# sem usar Interop?
O IronXL oferece uma maneira simples de formatar células do Excel sem dependências de interoperabilidade. Você pode usar a propriedade FormatString em células ou intervalos para aplicar formatos predefinidos, como moeda, porcentagens, datas e formatos de número personalizados. Basta criar ou abrir uma pasta de trabalho com o IronXL e definir a propriedade FormatString para o formato desejado.
Qual a maneira mais rápida de aplicar a formatação de moeda a uma célula?
Com o IronXL, você pode aplicar a formatação de moeda com apenas uma linha de código. Depois de criar uma planilha, basta usar: `book.DefaultWorkSheet["B2"].FormatString = IronXl.Formatting.BuiltinFormats.Currency2;` Isso aplica o formato de moeda integrado com 2 casas decimais à célula B2.
Posso formatar várias células ao mesmo tempo?
Sim, o IronXL permite formatar células individuais, colunas inteiras, linhas ou qualquer intervalo selecionado por meio da propriedade FormatString. Essa flexibilidade facilita a aplicação de formatação consistente em várias células da sua planilha do Excel sem precisar iterar por cada célula individualmente.
Como faço para impedir a conversão automática de dados ao definir os valores das células?
O IronXL oferece a propriedade StringValue para definir valores de células como strings sem conversão automática. Em vez de usar a propriedade Value, use StringValue para atribuir o valor exato à célula. Isso funciona de forma semelhante a colocar um apóstrofo antes do valor da célula no Excel e é particularmente útil para códigos de produtos, números de telefone ou outros dados que devem permanecer como texto.
Quais opções de formato integradas estão disponíveis?
O IronXL oferece uma coleção abrangente de strings de formatação predefinidas por meio da classe IronXl.Formatting.BuiltinFormats. Isso inclui vários formatos de moeda, formatos de data e hora, exibição de porcentagem, notação científica e formatos de número personalizados, permitindo que você personalize a forma como os dados são exibidos em suas planilhas do Excel.
Preciso instalar o Microsoft Excel para usar os recursos de formatação de células?
Não, o IronXL opera de forma independente, sem exigir dependências do Microsoft Excel ou de interoperabilidade. A biblioteca inclui seu próprio mecanismo de formatação que manipula diretamente arquivos do Excel, tornando-a ideal para ambientes de servidor ou sistemas onde o Excel não está instalado.

