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 donde IronXL 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.
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.
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 IronXL 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
// o
Install-Package IronXL.Excel
dotnet add package IronXL.Excel --version 2024.3.20
// o
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 IronXL 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 en 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;
// Cargar hoja de cálculo de ejemplo
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();
for (int i = 0; i < colCount; i++)
{
// ajuste automático del ancho de columna para el índice i
workSheet.AutoSizeColumn(i);
}
workBook.SaveAs("autoResize.xlsx"); // archivo de resultados
using IronXL;
// Cargar hoja de cálculo de ejemplo
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
var colCount = workSheet.Columns.Count();
for (int i = 0; i < colCount; i++)
{
// ajuste automático del ancho de columna para el índice i
workSheet.AutoSizeColumn(i);
}
workBook.SaveAs("autoResize.xlsx"); // archivo de resultados
Imports IronXL
' Cargar hoja de cálculo de ejemplo
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
' ajuste automático del ancho de columna para el índice i
workSheet.AutoSizeColumn(i)
Next i
workBook.SaveAs("autoResize.xlsx") ' archivo de resultados
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;
// Cargar hoja de cálculo de ejemplo
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"); // archivo de resultados
using IronXL;
// Cargar hoja de cálculo de ejemplo
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"); // archivo de resultados
Imports IronXL
' Cargar hoja de cálculo de ejemplo
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") ' archivo de resultados
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;
// Cargar hoja de cálculo de ejemplo
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Ajustar altura
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Fijar anchura
workBook.SaveAs("specificValue.xlsx");
using IronXL;
// Cargar hoja de cálculo de ejemplo
WorkBook workBook = WorkBook.Load("FinancialSample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
RangeRow row = workSheet.GetRow(0);
row.Height = 500; // Ajustar altura
RangeColumn col = workSheet.GetColumn(0);
col.Width = 5000; // Fijar anchura
workBook.SaveAs("specificValue.xlsx");
Imports IronXL
' Cargar hoja de cálculo de ejemplo
Private workBook As WorkBook = WorkBook.Load("FinancialSample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private row As RangeRow = workSheet.GetRow(0)
row.Height = 500 ' Ajustar altura
Dim col As RangeColumn = workSheet.GetColumn(0)
col.Width = 5000 ' Fijar anchura
workBook.SaveAs("specificValue.xlsx")
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 Excel, 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.
IronXL La 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