Cómo establecer formatos de datos de celda en Excel

Cómo establecer 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

IronXL permite formatear celdas de Excel con formatos de datos incorporados como moneda, porcentajes, fechas y formatos numéricos personalizados estableciendo la propiedad FormatString en celdas o rangos sin dependencias de Interop.

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

Este ejemplo muestra cómo crear un nuevo libro de Excel y aplicar un formato incorporado a una celda específica utilizando la API de IronXL. No se necesitan dependencias de interoperabilidad: basta con establecer FormatString y guardar.

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


¿Cómo establecer formatos de datos de celda en Excel?

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. Esta flexibilidad hace que IronXL sea especialmente potente cuando se necesita trabajar con archivos Excel en C# sin Interop.

El formato de los datos es esencial para presentar la información con claridad en las hojas de cálculo. Ya se trate de crear informes financieros con valores monetarios, datos científicos con decimales precisos o análisis basados en fechas, un formato adecuado garantiza que los datos sean legibles y profesionales. IronXL simplifica este proceso proporcionando acceso directo al motor de formato de Excel a través de una API sencilla.

: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
Hoja de cálculo de Excel que muestra celdas con formato: porcentaje, número y valores de fecha/hora en diferentes formatos de visualización

¿Cómo puedo establecer valores de celda como cadenas sin conversión?

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. Esto funciona como colocar un apóstrofo antes del valor de la celda en Excel. Esta técnica es especialmente útil cuando se trabaja con códigos de producto, números de teléfono u otros datos que deben permanecer como texto. Para una manipulación de cadenas más avanzada, consulte cómo escribir valores de Excel en .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"
$vbLabelText   $csharpLabel

¿Cómo uso los formatos incorporados en IronXL?

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. Estos formatos incorporados cubren los escenarios empresariales más comunes y son compatibles con todas las versiones de Excel.

Cuando creas hojas de cálculo mediante programación, aplicar un formato coherente es crucial para mantener los estándares profesionales en todos tus documentos. La clase BuiltinFormats proporciona más de 30 patrones de formato preconfigurados que coinciden con las opciones de formato estándar 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

¿Qué formatos de datos integrados hay disponibles?

Para el tipo Duration, los valores de entrada se representan en días. Por ejemplo, 1 día equivale a 24 horas, y 1,05 días a 25 horas y 12 minutos. Esto resulta especialmente útil cuando se trabaja con datos de Excel que implican el seguimiento del tiempo o la gestión de proyectos. Aquí están los tipos de formato disponibles:

Hoja de cálculo de Excel que muestra los formatos numéricos incorporados con valores de entrada y salidas formateadas para varios tipos de datos

¿Qué hace cada tipo de formato?

  • General: Formato predeterminado que muestra números sin formato específico.
  • Duración1: Muestra la duración en minutos y segundos como "mm:ss"
  • Duración2: Muestra la duración en horas, minutos y segundos como "[h]:mm:ss"
  • Duración3: Muestra la duración en minutos, segundos y milisegundos como "mm:ss.0"
  • <código>Contabilidad0</código>: Formato contable sin decimales, paréntesis para negativos como "#,##0_);(#,##0)"
  • Contabilidad0Rojo: Formato contable sin decimales, rojo para los negativos como "#,##0_);Rojo"
  • <código>Contabilidad2</código>: Formato contable con dos decimales, paréntesis para negativos como "#,##0,00;(#,##0,00)"
  • Contabilidad2Red: Formato contable con dos decimales, rojo para los negativos como "#,##0,00_);Rojo"
  • Hora1: formato de 12 horas con AM/PM como "h:mm AM/PM"
  • Time2: formato de 12 horas con segundos y AM/PM como "h:mm:ss AM/PM"
  • Time3: formato de 24 horas sin segundos como "h:mm"
  • Time4: formato de 24 horas con segundos como "h:mm:ss"
  • FechaCorta: formato de fecha corta como "m/d/yy"
  • ShortDateAndTime: formato corto de fecha y hora como "m/d/aa h:mm"
  • FechaLarga1: Fecha larga con mes, día y año como "d-mmm-aa"
  • FechaLarga2: Fecha larga con día y mes abreviado como "d-mmm"
  • FechaLarga3: Fecha larga con mes y año abreviados como "mmm-aa"
  • Fracción1: Valores fraccionarios con un dígito como "# ?/?"
  • Fraction2: Valores fraccionarios con dos dígitos como "# ??/??"
  • Scientific1: Notación científica con un decimal como "##0.0E+0"
  • Scientific2: Notación científica con dos decimales como "0.00E+00"
  • Porcent: Porcentaje sin decimales como "0%"
  • Porcent2: Porcentaje con dos decimales como "0,00%"
  • Moneda0: Moneda sin decimales, paréntesis para negativos como "$#,##0_);($#,##0)"
  • Moneda0Rojo: Moneda sin decimales, rojo para los negativos como "$#,##0_);Rojo"
  • Moneda2: Moneda con dos decimales, paréntesis para los negativos como "$#,##0,00;($#,##0,00)"
  • Moneda2Rojo: Moneda con dos decimales, rojo para los negativos como "$#,##0.00_);Rojo"
  • Miles0: Números con separador de miles, sin decimales como "#,##0"
  • Miles2: Números con separador de miles, dos decimales como "#,##0.00"
  • Número0: Números sin decimales como "0"
  • Número2: Números con dos decimales como "0.00"
  • Texto: Formato de texto sin formato como "@"

El formato de datos y el formato numérico en Excel controlan cómo se muestran los números, las fechas, las horas y otros datos en las celdas, mejorando la legibilidad y garantizando 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.

¿Cómo aplico varios formatos a distintos rangos?

En las aplicaciones del mundo real, a menudo es necesario aplicar distintos formatos a varias partes de la hoja de cálculo. Este ejemplo muestra cómo dar formato a un informe financiero con múltiples tipos de datos. Este enfoque es especialmente útil cuando se exporta a Excel en C# desde bases de datos u otras fuentes de datos:

/* :path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format-financial-report.cs */
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");
/* :path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format-financial-report.cs */
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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Este ejemplo muestra cómo se combinan distintos tipos de formato para crear documentos financieros profesionales. Para opciones de formato más avanzadas, como formato condicional, puede ampliar estos conceptos.

Cuando se trabaja con grandes conjuntos de datos o se crean informes mediante programación, es fundamental que el formato sea coherente. El sistema de formato de IronXL se integra a la perfección con otras características como funciones matemáticas y editar fórmulas, lo que permite crear soluciones de informes totalmente automatizadas.

Para los desarrolladores que migran desde Office Interop o que buscan un mejor rendimiento, el sistema de formato de IronXL proporciona una ventaja significativa. A diferencia de los enfoques tradicionales, puede dar formato a miles de celdas de manera eficiente sin sobrecarga de interoperabilidad COM. Para obtener más información sobre las mejores prácticas de automatización de Excel, explore nuestra completa Documentación de Excel.

Preguntas Frecuentes

¿Cómo puedo formatear celdas de Excel en C# sin usar Interop?

IronXL proporciona una forma sencilla de dar formato a las celdas de Excel sin dependencias de Interop. Puede utilizar la propiedad FormatString en celdas o rangos para aplicar formatos integrados como moneda, porcentajes, fechas y formatos numéricos personalizados. Sólo tiene que crear o abrir un libro con IronXL y establecer la propiedad FormatString en el formato que desee.

¿Cuál es la forma más rápida de aplicar formato de moneda a una celda?

Con IronXL, puede aplicar el formato de moneda en una sola línea de código. Después de crear un libro de trabajo, simplemente use: book.DefaultWorkSheet["B2"].FormatString = IronXL.Formatting.BuiltinFormats.Currency2; Esto aplica el formato de moneda incorporado con 2 decimales a la celda B2.

¿Puedo formatear varias celdas a la vez?

Sí, IronXL le permite dar formato a celdas individuales, columnas enteras, filas o cualquier rango seleccionado a través de la propiedad FormatString. Esta flexibilidad facilita la aplicación de un formato coherente en varias celdas de la hoja de cálculo de Excel sin tener que iterar en cada celda individualmente.

¿Cómo puedo evitar la conversión automática de datos al establecer los valores de las celdas?

IronXL proporciona la propiedad StringValue para establecer valores de celda como cadenas sin conversión automática. En lugar de utilizar la propiedad Value, utilice StringValue para asignar el valor exacto a la celda. Esto funciona de manera similar a colocar un apóstrofo antes del valor de la celda en Excel y es particularmente útil para códigos de producto, números de teléfono u otros datos que deben permanecer como texto.

¿Qué opciones de formato integradas hay disponibles?

IronXL ofrece una amplia colección de cadenas de formato predefinidas a través de la clase IronXL.Formatting.BuiltinFormats. Estos incluyen varios formatos de moneda, formatos de fecha y hora, visualización de porcentajes, notación científica y formatos numéricos personalizados, lo que le permite personalizar cómo se muestran los datos en sus hojas de cálculo de Excel.

¿Necesito instalar Microsoft Excel para utilizar las funciones de formato de celda?

No, IronXL funciona de forma independiente sin requerir dependencias de Microsoft Excel o Interop. La biblioteca incluye su propio motor de formato que manipula directamente los archivos de Excel, por lo que es ideal para entornos de servidor o sistemas en los que Excel no está instalado.

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,765,830 | Versión: 2025.12 recién lanzado