Cómo establecer formatos de datos de celda en Excel

Cómo configurar formatos de datos de celda en C# con IronXL

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

El formato de datos y el formato de números en Excel te permiten controlar cómo se muestran los números, fechas, horas y otros datos en las celdas, mejorando la legibilidad y asegurando la precisión de los datos. Con los formatos de datos, puedes presentar la información en formatos específicos como porcentajes o monedas. Los formatos de números permiten personalizar los decimales y las opciones de visualización.

como-título:2(Inicio rápido: Aplicar un formato incorporado a una sola celda en una línea)

Este ejemplo muestra lo fácil que es crear un nuevo libro de Excel y aplicar un formato incorporado a una celda específica usando la API de IronXL. Estarás en marcha en segundos, sin dependencias de Interop, solo configura "FormatString" y guarda.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronXL con el gestor de paquetes NuGet

    PM > Install-Package IronXL.Excel

  2. Copie y ejecute este fragmento de código.

    IronXL.WorkBook book = IronXL.WorkBook.Create(); book.DefaultWorkSheet["B2"].FormatString = IronXL.Formatting.BuiltinFormats.Currency2;
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronXL en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer


Ejemplo de formato de datos de celdas establecidas

La propiedad FormatString puede ser accedida tanto a través de celdas como de rangos. Por lo tanto, es posible establecer formatos de datos para celdas individuales, columnas, filas y cualquier rango seleccionado.

: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")
$vbLabelText   $csharpLabel
Formato de datos

Establecer el valor de la celda como cadena

Al establecer el valor en IronXL, usa StringValue en lugar de Value para asignar directamente el valor exacto a la celda sin conversión automática. Este uso es como colocar una apóstrofe antes del valor de la celda en Excel.

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

Ejemplo de uso de formatos incorporados

La biblioteca IronXL ofrece una variedad de cadenas de formato predefinidas que se pueden acceder a través de la clase IronXL.Formatting.BuiltinFormats para formatear celdas de Excel. Esto te permite personalizar cómo se muestran los datos en tus hojas de cálculo de 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")
$vbLabelText   $csharpLabel

Formatos de datos integrados disponibles

Para el tipo Duration, los valores de entrada se representan en días. Por ejemplo, 1 día es igual a 24 horas, y 1.05 días equivalen a 25 horas y 12 minutos. Aquí están los tipos de formato disponibles:

Todos los formatos de datos disponibles

Descripción

  • General: El formato predeterminado que muestra los números tal como son, sin ningún formato específico.
  • Duration1: Muestra valores de duración en minutos y segundos, como "mm:ss." El número ingresado en la propiedad Value se considerará como días.
  • Duration2: Muestra valores de duración en horas, minutos y segundos, como "[h]:mm:ss."
  • Duration3: Muestra valores de duración en minutos, segundos y milisegundos, como "mm:ss.0."
  • Accounting0: Formatea valores contables sin dígitos decimales, usando paréntesis para valores negativos, como "#,##0_);(#,##0)."
  • Accounting0Red: Formatea valores contables sin dígitos decimales, usando color rojo para valores negativos, como "#,##0_);Red."
  • Accounting2: Formatea valores contables con dos dígitos decimales, usando paréntesis para valores negativos, como "#,##0.00;(#,##0.00)."
  • Accounting2Red: Formatea valores contables con dos dígitos decimales, usando color rojo para valores negativos, como "#,##0.00_);Red."
  • Time1: Formatea valores de tiempo en formato de reloj de 12 horas con AM/PM, como "h:mm AM/PM."
  • Time2: Formatea valores de tiempo en formato de reloj de 12 horas con segundos y AM/PM, como "h:mm:ss AM/PM."
  • Time3: Formatea valores de tiempo en formato de reloj de 24 horas sin segundos, como "h:mm."
  • Time4: Formatea valores de tiempo en formato de reloj de 24 horas con segundos, como "h:mm:ss."
  • ShortDate: Formatea valores de fecha en un formato corto, como "m/d/aa."
  • ShortDateAndTime: Formatea valores de fecha y hora en un formato corto, como "m/d/aa h:mm."
  • LongDate1: Formatea valores de fecha en un formato largo con mes, día y año, como "d-mmm-aa."
  • LongDate2: Formatea valores de fecha en un formato largo con día y mes abreviado, como "d-mmm."
  • LongDate3: Formatea valores de fecha en un formato largo con mes abreviado y año, como "mmm-aa."
  • Fraction1: Formatea valores fraccionarios con un dígito, como "# ?/?."
  • Fraction2: Formatea valores fraccionarios con dos dígitos, como "# ??/??."
  • Scientific1: Formatea números en notación científica con un dígito después del punto, como "##0.0E+0."
  • Scientific2: Formatea números en notación científica con dos dígitos después del punto, como "0.00E+00."
  • Percent: Formatea valores porcentuales sin dígitos decimales, como "0%."
  • Percent2: Formatea valores porcentuales con dos dígitos decimales, como "0.00%."
  • Currency0: Formatea valores de moneda sin dígitos decimales, usando paréntesis para valores negativos, como "$#,##0_);($#,##0)."
  • Currency0Red: Formatea valores de moneda sin dígitos decimales, usando color rojo para valores negativos, como "$#,##0_);Red."
  • Currency2: Formatea valores de moneda con dos dígitos decimales, usando paréntesis para valores negativos, como "$#,##0.00;($#,##0.00)."
  • Currency2Red: Formatea valores de moneda con dos dígitos decimales, usando color rojo para valores negativos, como "$#,##0.00_);Red."
  • Thousands0: Formatea números con separador de miles y sin dígitos decimales, como "#,##0."
  • Thousands2: Formatea números con separador de miles y dos dígitos decimales, como "#,##0.00."
  • Number0: Formatea números sin dígitos decimales, como "0."
  • Number2: Formatea números con dos dígitos decimales, como "0.00."
  • Text: Formatea valores de texto como texto sin formato, como "@" (no se aplica formato específico).

Preguntas Frecuentes

¿Cómo puedo establecer formatos de datos de celdas en Excel utilizando C#?

Puede establecer formatos de datos de celdas en Excel usando IronXL accediendo a una hoja de trabajo y configurando la propiedad FormatString de una celda. Esto permite la personalización de cómo se muestran los datos, como números, fechas y horas, sin usar Interop.

¿Cuáles son los beneficios de usar una biblioteca C# para formateo de datos de Excel?

Usar una biblioteca C# como IronXL para formateo de datos de Excel le permite controlar programáticamente la apariencia de los datos, mejorar la legibilidad, asegurar la precisión de los datos y evitar las complejidades de usar Interop. Simplifica tareas como establecer formatos numéricos, fechas y formatos personalizados.

¿Cómo aplico un formato numérico personalizado a una celda en Excel con C#?

Para aplicar un formato numérico personalizado a una celda usando IronXL, cargue su libro de Excel, acceda a la hoja de trabajo y configure la propiedad FormatString de la celda al formato personalizado deseado. Por ejemplo, para mostrar un número como porcentaje, use sheet['A1'].FormatString = '0.00%'.

¿Puedo preservar ceros a la izquierda en celdas de Excel usando una biblioteca C#?

Sí, con IronXL, puede preservar ceros a la izquierda usando la propiedad StringValue al configurar el valor de una celda. Este enfoque evita la conversión automática y retiene los ceros a la izquierda en la celda.

¿Cómo formateo celdas de Excel con estilos contables usando C#?

Para formatear celdas de Excel con estilos contables usando IronXL, utilice la clase BuiltinFormats. Por ejemplo, puede aplicar un formato contable con dos decimales con sheet['C3'].FormatString = IronXL.Formatting.BuiltinFormats.Accounting2.

¿Cuáles son algunos formatos de datos predefinidos disponibles en una biblioteca C# para Excel?

IronXL proporciona formatos de datos predefinidos como contabilidad, duración, tiempo, fecha, fracción, científico, porcentaje, moneda y número. Estos formatos integrados simplifican la personalización de la presentación de datos en hojas de cálculo de Excel.

¿Cómo puedo mostrar valores monetarios negativos en rojo en Excel usando C#?

Para mostrar valores monetarios negativos en rojo usando IronXL, configure la propiedad FormatString a un formato monetario que incluya rojo para negativos, como Currency0Red o Currency2Red. Por ejemplo: sheet['B4'].FormatString = IronXL.Formatting.BuiltinFormats.Currency2Red.

¿Cuál es la diferencia entre los formatos Number0 y Number2 en IronXL?

En IronXL, el formato Number0 muestra números sin dígitos decimales, mientras que el formato Number2 muestra números con dos dígitos decimales. Estos formatos ayudan a personalizar la precisión de los datos numéricos en hojas de Excel.

¿Cómo guardo los cambios en un libro de Excel después de formatearlo usando C#?

Para guardar cambios en un libro de Excel después de formatearlo con IronXL, use el método SaveAs en el objeto WorkBook. Especifique el nombre de archivo y formato deseado para guardar el libro actualizado.

¿Cuáles son algunos consejos de solución de problemas para establecer formatos de datos en Excel usando una biblioteca C#?

Al establecer formatos de datos en Excel usando IronXL, asegúrese de que la biblioteca esté correctamente integrada, verifique que las cadenas de formato utilizadas sean precisas y revise por cualquier excepción durante el proceso de guardado del libro. También considere usar la propiedad StringValue para una entrada de datos precisa.

Chaknith Bin
Ingeniero de Software
Chaknith trabaja en IronXL e IronBarcode. Tiene un profundo conocimiento en C# y .NET, ayudando a mejorar el software y apoyar a los clientes. Sus conocimientos derivados de las interacciones con los usuarios contribuyen a mejores productos, documentación y experiencia en general.
¿Listo para empezar?
Nuget Descargas 1,738,553 | Version: 2025.11 recién lanzado