Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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 dondeIronXL que ofrece una solución perfecta para la automatización de Excel en el entorno C#.
IronXL biblioteca de**Software de hierro proporciona API intuitivas para manejar documentos Excel sin problemas tanto en entornos C# .NET como 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.
InstaleIronXL biblioteca al proyecto.
Autoajuste del ancho de columna utilizando la biblioteca IronXL.
Ajuste automático de la altura de la fila mediante la biblioteca IronXL.
IronXL es una versátil biblioteca .NET diseñada para simplificar la manipulación de hojas de cálculo Excel a los desarrolladores de 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 perfectamente con aplicaciones C#, proporcionando una API sencilla 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, puede leer sin esfuerzo datos de archivos de Excel existentes y escribir datos en hojas de cálculo nuevas o existentes. 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 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
InstaleIronXL desde el gestor 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 deIronXL ajusta la anchura de una columna para adaptarla 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. Se lanza una SixLabors.Fonts.FontException cuando no hay fuentes instaladas en la máquina.
Ahora, veamos cómo podemos utilizar esto para cambiar el tamaño de un archivo de Excel. Puede descargar un archivo Excel de ejemplo enaquí.
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 archivo FinancialSample.xlsx utilizando WorkBook.Load() método.
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(Número de filas - 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 utilizando WorkBook.Load() método.
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 utilizando WorkBook.Load() función.
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 deIronXLExcel, los desarrolladores pueden garantizar sin esfuerzo que las hojas de cálculo Excel se ajustan dinámicamente al contenido que contienen, ya sean datos importados, informes dinámicos, contenido generado por el usuario o resultados de análisis de datos.
IronXLLa compatibilidad de IronXL con varios marcos .NET, incluidos .NET Core y Azure, garantiza 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, la compatibilidad de IronXL con varios lenguajes y plataformas .NET lo convierte en una opción versátil para los desarrolladores que buscan agilizar las tareas de manipulación de Excel en diversos entornos.
En esencia,IronXL permite a los desarrolladores mejorar la productividad, la precisión y la flexibilidad en los proyectos de automatización de Excel, ofreciendo un completo conjunto de funciones para satisfacer las exigencias del desarrollo moderno en C#. Ya se trate de generar informes, analizar datos o presentar información,IronXL proporciona las herramientas necesarias para destacar en la automatización de Excel dentro del ecosistema C#.
9 productos API .NET para sus documentos de oficina