Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
En el mundo actual, impulsado por los datos, Microsoft Excel sigue siendo una herramienta indispensable tanto para las empresas como para los profesionales. Ya sea para hacer números, crear informes o visualizar datos, la versatilidad de Excel es inigualable. Sin embargo, cuando se trata de manipular archivos Excel mediante programación en C#, los desarrolladores suelen enfrentarse a dificultades. Aquí es donde entra en juego la biblioteca IronXL, ofreciendo una solución perfecta para la automatización de Excel dentro del entorno C#.
La biblioteca IronXL de Iron Software proporciona API intuitivas para manejar documentos Excel de manera fluida en entornos de C# .NET y VB.NET. Con IronXL, no es necesario instalar componentes de Microsoft Office o Excel Interop. Permite a los desarrolladores leer, editar y crear archivos de hojas de cálculo Excel sin esfuerzo, ofreciendo compatibilidad total con varios marcos .NET, incluidos .NET 8, 7, 6, Core Frameworks y entornos Azure.
En este artículo, aprenderemos cómo autoajustar el ancho y alto de las columnas en Excel usando C# y IronXL.
Instale la biblioteca IronXL en el proyecto.
Ajuste automático del ancho de columna usando la biblioteca IronXL.
Ajustar automáticamente la altura de fila usando la biblioteca IronXL.
La biblioteca IronXL es una biblioteca versátil de .NET diseñada para simplificar la manipulación de hojas de cálculo de Excel para desarrolladores en C#. IronXL, que ofrece una API rápida e intuitiva, permite a los usuarios acceder, modificar y generar archivos de Excel sin esfuerzo y sin depender de Office Interop. Su compatibilidad se extiende a varios marcos .NET, incluidos .NET Core y Azure, sin necesidad de dependencias especiales ni de instalar Microsoft Office. Con soporte para múltiples lenguajes .NET como C#, VB.NET y F#, IronXL se adapta a una amplia gama de escenarios de desarrollo, incluyendo aplicaciones de consola, web y de escritorio. Además, la compatibilidad de IronXL se extiende a través de diferentes plataformas, incluyendo Windows, Linux, macOS, Docker, Azure y AWS, por lo que es una herramienta indispensable para los desarrolladores que buscan una integración eficiente de Excel a través de diversos entornos.
Fácil Integración: IronXL se integra sin problemas con aplicaciones de C#, proporcionando una API simple e intuitiva para la automatización de Excel. Los desarrolladores pueden empezar a trabajar rápidamente con una curva de aprendizaje mínima.
Leer y escribir archivos de Excel: Con IronXL, puedes leer datos de archivos de Excel existentes y escribir datos en nuevas hojas de cálculo o en hojas de cálculo existentes sin esfuerzo. Esta capacidad es esencial para tareas como la importación/exportación de datos y la generación de informes.
Formato y Estilo: IronXL le permite aplicar formato y estilo a las celdas de Excel, incluyendo fuentes, colores, bordes y más. Esto garantiza que los archivos Excel generados mantengan un aspecto profesional y pulido.
Soporte de fórmulas: ¿Necesita realizar cálculos complejos o aplicar fórmulas a los datos de Excel? IronXL le ofrece soporte para fórmulas de Excel, lo que le permite automatizar los cálculos y la manipulación de datos.
Para empezar, vamos a crear un proyecto de Visual Studio como se muestra a continuación. Seleccione de la lista la plantilla de aplicación Consola
Indique el nombre y la ubicación del proyecto
Seleccione la versión .NET necesaria en el menú desplegable y haga clic en crear
Instale la biblioteca IronXL desde el Administrador de Paquetes NuGet de Visual Studio
El paquete también puede instalarse utilizando la línea de comandos de 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
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronXL.Excel --version 2024.3.20 Install-Package IronXL.Excel
Con esto estamos listos para empezar a codificar.
El método AutoSizeColumn de la biblioteca IronXL ajusta el ancho de una columna para que se adapte a su contenido. Este método calcula la anchura del texto en función de la fuente utilizada en la celda. Si la fuente exacta no está disponible en el sistema, intentará medirla utilizando una fuente predeterminada. Si no se encuentra ninguna fuente predeterminada, intentará utilizar cualquier fuente disponible. Sin embargo, si no se encuentra ninguna fuente, se lanzará una excepción. Utiliza como parámetro un índice de columna de base cero. Debe estar dentro de los límites definidos por 0 y (ColumnCount - 1). Se lanza una ArgumentException si el columnIndex proporcionado está fuera del rango válido. SixLabors.Fonts.FontException se lanza cuando no hay fuentes instaladas en la máquina.
Ahora, veamos cómo podemos usar esto para cambiar el tamaño de un archivo de Excel. Puedes descargar un archivo de Excel de muestra desde aquí.
Aquí puede ver que los anchos de columna no están bien definidos y, por lo tanto, son muy difíciles de leer. Ahora vamos a
ver cómo podemos utilizar la biblioteca IronXL para Autoajustar los anchos de columna en una hoja de Excel.
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);
}
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);
}
workBook.SaveAs("autoResize.xlsx"); // result file
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private colCount = workSheet.Columns.Count()
For i As Integer = 0 To colCount - 1
' auto fit column width for index i
workSheet.AutoSizeColumn(i)
Next i
workBook.SaveAs("autoResize.xlsx") ' result file
Inicialmente cargamos el FinancialSample.xlsx usando el método WorkBook.Load().
A continuación obtenemos el rango de celdas para el que hay que ajustar el ancho de las columnas, en este caso obtenemos el recuento de columnas.
A continuación, iteramos a través de todos los índices para autodimensionar el ancho de las columnas
A continuación puede ver que todas las columnas tienen tamaño automático y son visibles.
El método AutoSizeRow ajusta la altura de una fila para acomodar su contenido. Es importante tener en cuenta que este método calcula la altura del texto en función de la fuente utilizada en la celda. Si la fuente exacta no está disponible en el sistema, intentará medirla utilizando una fuente predeterminada. Si no se encuentra ninguna fuente predeterminada, intentará utilizar cualquier fuente disponible. Sin embargo, si no se encuentra ninguna fuente, se lanzará una excepción. Utiliza como parámetro un índice de fila de base cero. Debe estar dentro de los límites definidos por 0 y (RowCount - 1). Se lanza una ArgumentException si el rowIndex proporcionado está fuera del rango válido. SixLabors.Fonts.FontException se lanza cuando no hay fuentes instaladas en la máquina
En el ejemplo siguiente, puede ver que algunas de las filas no tienen el tamaño adecuado para fijar los datos. Veamos ahora el código C# para autoajustar las alturas de las filas de Excel.
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++)
{
workSheet.AutoSizeRow(i);
}
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++)
{
workSheet.AutoSizeRow(i);
}
workBook.SaveAs("autoResizeRows.xlsx"); // result file
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private rowCount = workSheet.RowCount
For i As Integer = 0 To rowCount - 1
workSheet.AutoSizeRow(i)
Next i
workBook.SaveAs("autoResizeRows.xlsx") ' result file
Inicialmente, cargamos el archivo FinancialSample.xlsx usando el método WorkBook.Load().
A continuación obtenemos el rango de celdas para el que hay que ajustar la altura de las filas, en este caso obtenemos el recuento de filas.
A continuación, iteramos a través de todos los índices para autodimensionar las alturas de las filas
Además de las filas y columnas de tamaño automático, IronXL también ofrece ajustar el ancho y la altura manualmente a un valor específico de altura de fila y un valor específico de ancho de columna.
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
using IronXL;
// Load example spreadsheet
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Set height
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Set width
workBook.SaveAs("specificValue.xlsx");
Imports IronXL
' Load example spreadsheet
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private row As RangeRow = workSheet.GetRow(0)
row.Height = 500 ' Set height
Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 5000 ' Set width
workBook.SaveAs("specificValue.xlsx")
Inicialmente, cargamos el archivo FinancialSample.xlsx usando la función WorkBook.Load().
A continuación, obtenemos el rango de celdas para el que hay que ajustar la altura de las filas y también el rango de celdas para el que hay que ajustar la anchura de las columnas
A continuación, establecemos los valores de altura y anchura
La licencia obtenida debe colocarse en el archivo appSettings.json
{
"IronXL.License.LicenseKey":"myTrialKey"
}
{
"IronXL.License.LicenseKey":"myTrialKey"
}
If True Then
"IronXL.License.LicenseKey":"myTrialKey"
End If
Con funciones como AutoSizeColumn y AutoSizeRow de IronXL, los desarrolladores pueden asegurar sin esfuerzo que las hojas de cálculo de Excel se ajusten dinámicamente al contenido que contienen, ya sea datos importados, informes dinámicos, contenido generado por el usuario o resultados de análisis de datos.
La compatibilidad de IronXL con varios marcos de trabajo .NET, incluyendo .NET Core y Azure, asegura que los desarrolladores puedan incorporar la automatización de Excel en una amplia gama de aplicaciones sin depender de Microsoft Office o Excel Interop. Además, el soporte de IronXL para múltiples lenguajes y plataformas .NET lo convierte en una opción versátil para los desarrolladores que buscan simplificar las tareas de manipulación de Excel en entornos diversos.
En esencia, IronXL capacita a los desarrolladores para aumentar la productividad, precisión y flexibilidad en proyectos de automatización de Excel, ofreciendo un conjunto completo de características para satisfacer las demandas del desarrollo moderno en C#. Ya sea generando informes, analizando datos o presentando información, IronXL proporciona las herramientas necesarias para sobresalir en la automatización de Excel dentro del ecosistema de C#.