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 de números personalizados estableciendo la propiedad FormatString en celdas o rangos sin dependencias de Interop.

Inicio rápido: Aplique un formato integrado 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 Interop, solo establezca FormatString y guarde.

  1. Instala IronXL con el Administrador 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

    Comienza a usar 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 se puede acceder 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 Excel que muestra celdas formateadas: 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, use 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 formatos numéricos integrados 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 un formato específico.
  • Duration1: Muestra la duración en minutos y segundos como 'mm:ss'.
  • Duration2: Muestra la duración en horas, minutos y segundos como '[h]:mm:ss'.
  • Duration3: Muestra la duración en minutos, segundos y milisegundos como 'mm:ss.0'.
  • Accounting0: Formato de contabilidad sin decimales, con paréntesis para negativos como '#,##0_);(#,##0).'
  • Accounting0Red: Formato de contabilidad sin decimales, rojo para negativos como '#,##0_);Red.'
  • Accounting2: Formato de contabilidad con dos decimales, con paréntesis para negativos como '#,##0.00;(#,##0.00).'
  • Accounting2Red: Formato de contabilidad con dos decimales, rojo para negativos como '#,##0.00_);Red.'
  • Time1: 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'.
  • ShortDate: Formato de fecha corta como 'm/d/yy'.
  • ShortDateAndTime: Formato de fecha y hora corta como 'm/d/yy h:mm'.
  • LongDate1: Fecha larga con mes, día, año como 'd-mmm-yy'.
  • LongDate2: Fecha larga con día y mes abreviado como 'd-mmm'.
  • LongDate3: Fecha larga con mes abreviado y año como 'mmm-yy'.
  • Fraction1: 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'.
  • Percent: Porcentaje sin decimales como '0%'.
  • Percent2: Porcentaje con dos decimales como '0.00%'.
  • Currency0: Moneda sin decimales, paréntesis para negativos como '$#,##0_);($#,##0).'
  • Currency0Red: Moneda sin decimales, rojo para negativos como '$#,##0_);Red.'
  • Currency2: Moneda con dos decimales, paréntesis para negativos como '$#,##0.00;($#,##0.00).'
  • Currency2Red: Moneda con dos decimales, rojo para negativos como '$#,##0.00_);Red.'
  • Thousands0: Números con separador de miles, sin decimales como '#,##0'.
  • Thousands2: Números con separador de miles, dos decimales como '#,##0.00'.
  • Number0: Números sin decimales como '0'.
  • Number2: Números con dos decimales como '0.00'.
  • Text: Formato de texto simple 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: