Saltar al pie de página
COMPARAR CON OTROS COMPONENTES
Una comparación de IronXL vs Microsoft Office Interop Excel

Una comparación entre IronXL y Microsoft Office Interop Excel

Las herramientas de MS Office como Word, Excel, PowerPoint, etc. son muy populares y ampliamente utilizadas en todo tipo de negocios. La creación de archivos de informes en formato de archivo de Excel es una función que muchos usuarios necesitan en sus aplicaciones de software, y ahora hay una forma definitiva de incluir esta función en las aplicaciones de software utilizando las diferentes bibliotecas disponibles.

En este artículo, vamos a discutir y comparar cómo trabajar con archivos de Microsoft Excel programáticamente en C# utilizando las dos bibliotecas más populares, IronXL y Microsoft Office Excel Interop.

IronXL e Microsoft Excel Interop ambos ofrecen los métodos para crear, editar y leer documentos de Excel en .NET frameworks. The next question is to decide which C# Excel library is best suited to your project. Este artículo te ayudará a decidir la mejor opción para tus aplicaciones.

Primero, veamos qué ofrecen ambas bibliotecas, y luego pasemos a la propia comparación.

La biblioteca IronXL

IronXL es una biblioteca .NET que facilita la lectura y edición de documentos de Microsoft Excel en C#. IronXL.Excel es una biblioteca de software .NET independiente para leer una amplia gama de formatos de hojas de cálculo. No requiere que Microsoft Excel esté instalado ni depende de Interop.

IronXL es una API intuitiva de C# que te permite leer, editar y crear archivos de hojas de cálculo de Excel en .NET con un rendimiento extremadamente rápido. IronXL es compatible con .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS y Azure.

IronXL es una biblioteca líder de hojas de cálculo de Excel para .NET Core y .NET Framework para C#.

Documentos y Soporte

Conjunto de características de IronXL

  • Cargar, Leer y Editar Datos — desde XLS/XLSX/CSV/TSV
  • Guardar y Exportar — a XLS/XLSX/CSV/TSV/JSON
  • Objetos System.Data — Trabajar con Hojas de Cálculo de Excel como objetos System.Data.DataSet y System.Data.DataTable.
  • Fórmulas — funciona con fórmulas de Excel. Las fórmulas se recalculan cada vez que se edita una hoja.
  • Rangos — Sintaxis de WorkSheet fácil de usar ["A1:B10"]. Combina y crea rangos de manera intuitiva.
  • Ordenación — Ordenar Rangos, Columnas y Filas.
  • Estilo — Estilos visuales de celda, fuente, tamaño, patrón de fondo, borde, alineación y formatos de número.

Objetos de interoperabilidad de Microsoft Office Excel

El espacio de nombres Microsoft.Office.Interop.Excel proporciona métodos para interactuar con la aplicación Microsoft Excel en C# y Visual Basic. Podemos crear nuevos libros de Excel, hojas de Excel, mostrar datos en hojas existentes, modificar contenidos de hojas de Excel existentes y mucho más con este espacio de nombres.

Las clases e interfaces en Microsoft.Office.Interop.Excel proporcionan soporte para la interoperabilidad entre el modelo de objetos COM de archivos de Microsoft Excel y aplicaciones administradas que automatizan archivos xls o xlsx.

El lenguaje de programación C# incluye capacidades que facilitan trabajar con los objetos de API de Microsoft Office Interop. Las nuevas características incluyen argumentos nombrados y opcionales, un nuevo tipo llamado dinámico, y la capacidad de pasar argumentos a los parámetros de referencia en métodos COM como si fueran parámetros de valor. Esto lo convierte en una mejor opción para trabajar con objetos COM e Interop.

Nota: Los objetos de Microsoft Excel Interop necesitan que Microsoft Excel esté instalado en la computadora

El resto del artículo es el siguiente:

  1. Crear una aplicación de consola
  2. Instalación de la biblioteca C# de IronXL
  3. Instalación de Microsoft Office Interop Excel
  4. Crear un Nuevo Libro y Hoja de Excel
  5. Leer archivos de Excel
  6. Trabajando con Rango de Valores en archivos de Excel
  7. Trabajando con fórmulas de Excel
  8. Licencias
  9. Resumen y Conclusión

1. Crear una aplicación de consola

Utiliza los siguientes pasos para crear una Aplicación de Consola:

  • Inicia el IDE de Visual Studio 2022.
  • Haz clic en "Crear nuevo proyecto".
  • En la página "Crear nuevo proyecto", selecciona C# en la lista desplegable de lenguajes, Windows de la lista de Plataformas y Consola de la lista de "Tipos de proyecto".
  • Selecciona Aplicación de Consola (.NET Framework) de las plantillas de proyecto mostradas.
Crear proyecto - Aplicación de consola
  • Haz clic en Siguiente.
  • En la pantalla de Información Adicional, especifica la versión del Framework que deseas utilizar. Usaremos .NET Framework 4.8 en este ejemplo.
Crear proyecto - .NET Framework
  • Haz clic en Crear para completar el proceso.

Ahora el proyecto está creado y estamos casi listos para probar las bibliotecas. Sin embargo, aún necesitamos instalarlas e integrarlas en nuestro proyecto. Instalemos IronXL primero.

2. Instalación de la biblioteca IronXL C

Puedes descargar e instalar la biblioteca IronXL utilizando los siguientes métodos:

  1. Usando Visual Studio con paquetes de NuGet.
  2. Descargar el Paquete de NuGet directamente.
  3. Instalar manualmente con el DLL.

Echemos un vistazo más de cerca a cada uno.

2.1. Uso de Visual Studio con paquetes NuGet

Visual Studio proporciona el Administrador de Paquetes NuGet para instalar paquetes NuGet en tus proyectos. Puedes acceder a él a través del menú Proyecto, o haciendo clic derecho en tu proyecto en el Explorador de Soluciones.

Seleccione Administrar paquete NuGet
  • Ahora, desde la pestaña de búsqueda -> buscar IronXL.Excel -> Instalar
Buscar IronXL
  • Y hemos terminado.
Buscar en la interoperabilidad de Microsoft Excel

3.2. Uso de la consola del administrador de paquetes NuGet

Otra forma de descargar e instalar la Biblioteca Microsoft.Office.Interop.Excel C# es utilizar los siguientes pasos para instalar el paquete NuGet a través del Prompt de Comando del Desarrollador.

  1. Abrir el Prompt de Comando del Desarrollador — generalmente ubicado en la carpeta de Visual Studio.
  2. Escribir el siguiente comando:

    PM> Install-Package Microsoft.Office.Interop.Excel
    PM> Install-Package Microsoft.Office.Interop.Excel
    SHELL
  3. Presionar Enter.
  4. Esto descargará e instalará el paquete.
  5. Recargar tu proyecto de Visual Studio y comenzar a utilizarlo.

3.3. Añadir las directivas using necesarias

  1. En el Explorador de Soluciones, haz clic derecho en el archivo Program.cs y luego haz clic en Ver Código.
  2. Agregar la siguiente directiva de uso en la parte superior del archivo de código:

    using Excel = Microsoft.Office.Interop.Excel;
    using Excel = Microsoft.Office.Interop.Excel;
    Imports Excel = Microsoft.Office.Interop.Excel
    $vbLabelText   $csharpLabel

4. Crear un nuevo libro y hoja de cálculo de Excel

Un libro de trabajo es un archivo de Excel que contiene múltiples hojas de trabajo con filas y columnas. Ambas bibliotecas ofrecen la facilidad de crear un nuevo libro de Excel y hojas. Echemos un vistazo al código paso a paso.

4.1. Un nuevo libro y hoja de cálculo de Excel con IronXL

¡No podría ser más fácil crear un nuevo Libro de Excel usando IronXL! ¡Solo una línea de código! Sí, de verdad. Agregar el siguiente código a tu función estática void Main en el archivo Program.cs:

// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
' Create a new workbook in XLSX format
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

Con IronXL se pueden crear tanto formatos de archivo XLS (versión anterior de archivos de Excel) como XLSX (versión actual y más reciente).

Y, es aún más fácil crear una Hoja de Trabajo predeterminada:

// Create a new worksheet
var worksheet = workbook.CreateWorkSheet("IronXL Features");
// Create a new worksheet
var worksheet = workbook.CreateWorkSheet("IronXL Features");
' Create a new worksheet
Dim worksheet = workbook.CreateWorkSheet("IronXL Features")
$vbLabelText   $csharpLabel

Ahora puedes utilizar la variable de la hoja de trabajo para establecer valores de celda y hacer casi todo lo que puede hacer un archivo de Excel.

4.2. Un nuevo libro y hoja de cálculo de Excel con Microsoft.Office.Interop.Excel

Para crear un archivo de Excel usando Microsoft.Office.Interop, es necesario que Microsoft Excel esté instalado. Así que, necesitamos comprobar si Microsoft Excel está instalado en la máquina anfitriona — si no, simplemente regresará una excepción que necesita ser manejada. Los siguientes ejemplos de código te permiten comprobar la instalación de una aplicación de Excel y crear libros y hojas de Excel:

Comprobar si Microsoft Excel está instalado:

// Start Excel and get Application object.
Excel.Application xlApp = new Excel.Application();  

// Check if Excel is installed  
if (xlApp == null)  
{  
    Console.WriteLine("Excel is not installed in the system...");
    return;  
}
// Start Excel and get Application object.
Excel.Application xlApp = new Excel.Application();  

// Check if Excel is installed  
if (xlApp == null)  
{  
    Console.WriteLine("Excel is not installed in the system...");
    return;  
}
' Start Excel and get Application object.
Dim xlApp As New Excel.Application()

' Check if Excel is installed  
If xlApp Is Nothing Then
	Console.WriteLine("Excel is not installed in the system...")
	Return
End If
$vbLabelText   $csharpLabel

Crear Libro y Hoja de Trabajo:

// Create Workbook and Worksheet
object misValue = System.Reflection.Missing.Value;  
Excel.Workbook xlWorkBook = xlApp.Workbooks.Add(misValue);  
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
// Create Workbook and Worksheet
object misValue = System.Reflection.Missing.Value;  
Excel.Workbook xlWorkBook = xlApp.Workbooks.Add(misValue);  
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
' Create Workbook and Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Add(misValue)
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)
$vbLabelText   $csharpLabel

Hasta ahora, viendo ambos códigos, la ventaja recae en IronXL sobre Office Interop Excel. IronXL utiliza solo una línea de código para poder trabajar con archivos de Excel, sin complicaciones ni dependencias adicionales.

5. Leer archivos de Excel

Ambas bibliotecas pueden abrir y leer documentos de Excel existentes. Echemos un vistazo al código de ejemplo.

5.1. Leer archivos de Excel con IronXL

La clase IronXL WorkBook representa una hoja de Excel. Para abrir un archivo de Excel usando C#, utilizamos WorkBook.Load y especificamos la ruta del archivo de Excel (.xlsx). La siguiente línea de código se utiliza para abrir el archivo para lectura:

// Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
// Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
' Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
$vbLabelText   $csharpLabel

Cada WorkBook puede tener múltiples objetos WorkSheet. Estos representan las hojas de trabajo en el documento de Excel. Si el libro contiene hojas de trabajo, recupéralas por nombre de la siguiente manera:

// Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
// Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
' Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
$vbLabelText   $csharpLabel

Código para leer los valores de las celdas:

// Read from Ranges of cells elegantly.
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet("A2:A10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

5.2. Leer archivos de Excel con Microsoft.Office.Interop.Excel

Esto también utiliza una línea de código para abrir un libro y una hoja. El código es el siguiente:

Excel.Application xlApp = new Excel.Application();  

// Load WorkBook
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);  

// Open Sheet for reading
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
Excel.Application xlApp = new Excel.Application();  

// Load WorkBook
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);  

// Open Sheet for reading
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
Dim xlApp As New Excel.Application()

' Load WorkBook
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Open(filePath)

' Open Sheet for reading
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)
$vbLabelText   $csharpLabel

Código para leer los valores de las celdas:

// Get the entire range of cells
Excel.Range xlRange = xlWorkSheet.UsedRange;

// Reading first 10 rows with two columns
for (int rowCount = 1; rowCount <= 10; rowCount++)  
{  
    string firstValue = Convert.ToString((xlRange.Cells[rowCount, 1] as Excel.Range).Text);  
    string secondValue = Convert.ToString((xlRange.Cells[rowCount, 2] as Excel.Range).Text);  

    Console.WriteLine(firstValue + "\t" + secondValue);  
}
// Get the entire range of cells
Excel.Range xlRange = xlWorkSheet.UsedRange;

// Reading first 10 rows with two columns
for (int rowCount = 1; rowCount <= 10; rowCount++)  
{  
    string firstValue = Convert.ToString((xlRange.Cells[rowCount, 1] as Excel.Range).Text);  
    string secondValue = Convert.ToString((xlRange.Cells[rowCount, 2] as Excel.Range).Text);  

    Console.WriteLine(firstValue + "\t" + secondValue);  
}
Imports Microsoft.VisualBasic

' Get the entire range of cells
Dim xlRange As Excel.Range = xlWorkSheet.UsedRange

' Reading first 10 rows with two columns
For rowCount As Integer = 1 To 10
	Dim firstValue As String = Convert.ToString((TryCast(xlRange.Cells(rowCount, 1), Excel.Range)).Text)
	Dim secondValue As String = Convert.ToString((TryCast(xlRange.Cells(rowCount, 2), Excel.Range)).Text)

	Console.WriteLine(firstValue & vbTab & secondValue)
Next rowCount
$vbLabelText   $csharpLabel

Sin embargo, comprobar la instalación de Excel y crear su instancia es una parte integral.

6. Trabajar con rangos de valores en archivos de Excel

6.1. Trabajar con rangos de valores usando IronXL

En IronXL, con una línea de código, podemos obtener el rango de valores de celdas particulares. Luego, usando un bucle, cada valor de celda puede ser leído o editado. El código es el siguiente:

// Load the workbook and get the first worksheet
WorkBook workbook = WorkBook.Load("test.xls");
WorkSheet sheet = workbook.WorkSheets.First();

// This is how we get range from Excel worksheet
var range = sheet["A2:A8"];
// This is how we can iterate over our range and read or edit any cell
foreach (var cell in range)
{
    Console.WriteLine(cell.Value);
}
// Load the workbook and get the first worksheet
WorkBook workbook = WorkBook.Load("test.xls");
WorkSheet sheet = workbook.WorkSheets.First();

// This is how we get range from Excel worksheet
var range = sheet["A2:A8"];
// This is how we can iterate over our range and read or edit any cell
foreach (var cell in range)
{
    Console.WriteLine(cell.Value);
}
' Load the workbook and get the first worksheet
Dim workbook As WorkBook = WorkBook.Load("test.xls")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' This is how we get range from Excel worksheet
Dim range = sheet("A2:A8")
' This is how we can iterate over our range and read or edit any cell
For Each cell In range
	Console.WriteLine(cell.Value)
Next cell
$vbLabelText   $csharpLabel

6.2. Trabajar con rangos de valores mediante Microsoft.Office.Interop.Excel

Esto también utiliza una línea de código para obtener el rango de valores de celda. Las celdas pueden ser actualizadas con los valores requeridos. El código es el siguiente:

Excel.Application xlApp = new Excel.Application();  
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);  
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

// Get range of values and updating their format
var range = xlWorkSheet.get_Range("A1", "D1");
range.NumberFormat = "$0.00";
Excel.Application xlApp = new Excel.Application();  
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);  
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

// Get range of values and updating their format
var range = xlWorkSheet.get_Range("A1", "D1");
range.NumberFormat = "$0.00";
Dim xlApp As New Excel.Application()
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Open(filePath)
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)

' Get range of values and updating their format
Dim range = xlWorkSheet.get_Range("A1", "D1")
range.NumberFormat = "$0.00"
$vbLabelText   $csharpLabel

7. Trabajar con fórmulas de Excel

Las fórmulas de Excel constituyen la parte más importante de trabajar con archivos de Excel. Ambas bibliotecas proporcionan la facilidad de trabajar con fórmulas y aplicarlas a celdas con facilidad.

7.1. Trabajar con fórmulas de Excel con IronXL

Después de cargar el libro y la hoja de trabajo, el siguiente ejemplo de código puede usarse para hacer cambios en las fórmulas o aplicarlas a celdas específicas. El código es el siguiente:

// Set Formulas
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";

// Force recalculate all formula values in all sheets.  
workbook.EvaluateAll();
// Set Formulas
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";

// Force recalculate all formula values in all sheets.  
workbook.EvaluateAll();
' Set Formulas
worksheet("A1").Formula = "Sum(B8:C12)"
worksheet("B8").Formula = "=C9/C11"
worksheet("G30").Formula = "Max(C3:C7)"

' Force recalculate all formula values in all sheets.  
workbook.EvaluateAll()
$vbLabelText   $csharpLabel

También puedes recuperar fórmulas y sus valores.

// Get Formulas
// Get the formula's calculated value.  e.g. "52"
string formulaValue = worksheet["G30"].Value;

// Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet["G30"].Formula;

// Save your changes with updated formulas and calculated values.
workbook.Save();
// Get Formulas
// Get the formula's calculated value.  e.g. "52"
string formulaValue = worksheet["G30"].Value;

// Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet["G30"].Formula;

// Save your changes with updated formulas and calculated values.
workbook.Save();
' Get Formulas
' Get the formula's calculated value.  e.g. "52"
Dim formulaValue As String = worksheet("G30").Value

' Get the formula as a string. e.g. "Max(C3:C7)"
Dim formulaString As String = worksheet("G30").Formula

' Save your changes with updated formulas and calculated values.
workbook.Save()
$vbLabelText   $csharpLabel

7.2. Trabajar con fórmulas de Excel mediante Microsoft.Office.Interop.Excel

Del mismo modo, después de cargar el libro y la hoja de trabajo, el siguiente código puede usarse para trabajar en fórmulas de Excel. La muestra de código es la siguiente:

// Get range of values and updating their format
var range1 = xlWorkSheet.get_Range("A1", "D1");
var range2 = xlWorkSheet.get_Range("C2", "C6");

// Set Formula
range1.Formula = "=RAND()*100000";
range2.Formula = "=A2 & \" \" & B2";
// Get range of values and updating their format
var range1 = xlWorkSheet.get_Range("A1", "D1");
var range2 = xlWorkSheet.get_Range("C2", "C6");

// Set Formula
range1.Formula = "=RAND()*100000";
range2.Formula = "=A2 & \" \" & B2";
' Get range of values and updating their format
Dim range1 = xlWorkSheet.get_Range("A1", "D1")
Dim range2 = xlWorkSheet.get_Range("C2", "C6")

' Set Formula
range1.Formula = "=RAND()*100000"
range2.Formula = "=A2 & "" "" & B2"
$vbLabelText   $csharpLabel

8. Licencias

IronXL es una biblioteca de Excel en C# comercial abiertamente. Es gratis para desarrollo y siempre se puede obtener una licencia para despliegue comercial. Licenses are available for single-project use, single developers, agencies, and global corporations, as well as SaaS and OEM redistribution. Todas las licencias incluyen una garantía de devolución de dinero de 30 días, un año de soporte al producto y actualizaciones, validez para dev/staging/producción, y también una licencia permanente (compra única). El paquete Lite comienza desde $799.

Para Microsoft Office Interop Excel, las aplicaciones que utilizan este archivo DLL no requieren una licencia separada ni para uso individual ni comercial. Para que cualquier solución funcione con una aplicación de Office, las aplicaciones de Microsoft Office deben estar instaladas y licenciadas en la máquina donde la solución se ejecuta. El DLL siempre estará presente en una máquina donde la aplicación Office esté instalada y estará registrado allí. Al mismo tiempo, la ensambladura de interoperabilidad primaria (PIAs) necesaria para soluciones .NET que usan el "interop" también estará instalada en la GAC.

9. Resumen y conclusión

Summary

Leer y crear archivos Excel (XLS, XLSX y CSV) en C# y todos los demás lenguajes .NET es fácil usando la biblioteca de software IronXL de Iron Software. IronXL no requiere que Excel esté instalado en tu servidor o Interop. IronXL proporciona una API más rápida e intuitiva que Microsoft.Office.Interop.Excel. IronXL funciona en .NET Core 2, Framework 4.5, Azure, Mono y, Mobile y Xamarin.

Microsoft Office Interop (Automatización de Excel) es una opción al crear/leer archivos Excel (XLS, XLSX, CSV) desde aplicaciones C# o VB.NET. Requiere que todas las máquinas cliente tengan la misma versión de Microsoft Excel instalada y solo funciona en sistemas operativos Windows.

Conclusión

Aquí, IronXL tiene una clara ventaja sobre Microsoft.Office.Interop.Excel ya que no requiere que la aplicación Microsoft Office Excel esté instalada en la máquina local o servidor para funcionar. Además, al usar la Automatización de Excel, Microsoft Excel se carga en segundo plano, usando muchos MB y cargando un gran número de archivos y DLLs en comparación con IronXL. IronXL tiene una API más rápida e intuitiva que la de Microsoft.Office.Interop.Excel.

Las aplicaciones de Microsoft Office (incluyendo Excel) fueron diseñadas como aplicaciones UI, y por lo tanto la API es muy lenta. Microsoft no recomienda usar la Automatización de Excel (o cualquier Interop de Office) en el servidor. En este caso, con todas sus características robustas, IronXL es la mejor opción para la integración en aplicaciones de software.

Por favor notaMicrosoft Office es una marca registrada de su respectivo propietario. Este sitio no está afiliado, aprobado ni patrocinado por Microsoft Office. Todos los nombres de producto, logotipos y marcas son propiedad de sus respectivos propietarios. Las comparaciones son sólo para fines informativos y reflejan información disponible públicamente al momento de escribir.

Preguntas Frecuentes

¿Cómo puedo crear y editar archivos Excel en C# sin tener Microsoft Excel instalado?

Puede utilizar IronXL para crear y editar archivos Excel en C# sin la necesidad de tener Microsoft Excel instalado en su máquina. IronXL proporciona una biblioteca autónoma que funciona con varios formatos de archivo Excel y es compatible con múltiples plataformas.

¿Cuáles son los beneficios de usar IronXL sobre Microsoft Office Interop para operaciones de Excel?

IronXL ofrece varias ventajas sobre Microsoft Office Interop, como no requerir Excel para estar instalado, soportar múltiples plataformas incluyendo .NET Core y Azure, y proporcionar una API más rápida e intuitiva.

¿Puedo usar IronXL para leer y escribir diferentes formatos de archivo Excel?

Sí, IronXL admite la lectura y escritura de varios formatos de archivo Excel incluyendo XLS, XLSX, CSV y TSV, lo que lo hace versátil para diferentes necesidades de aplicación.

¿Es IronXL compatible con .NET Core y otros entornos?

IronXL es completamente compatible con .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS y Azure, ofreciendo flexibilidad para diferentes entornos de desarrollo.

¿Cómo maneja IronXL las fórmulas de Excel?

IronXL permite a los usuarios establecer y recuperar fácilmente fórmulas de Excel. Recalcula automáticamente las fórmulas cuando se modifica una hoja y admite guardar fórmulas actualizadas y sus valores calculados.

¿Qué soporte está disponible al usar IronXL en un proyecto?

IronXL proporciona un amplio soporte que incluye documentación API en línea, fragmentos de código para comenzar, tutoriales, ejemplos en GitHub y soporte profesional de Team Iron.

¿Cuáles son las limitaciones de usar Microsoft Office Interop para Excel en servidores?

Microsoft no recomienda usar la Automatización de Excel o cualquier Interop de Office en servidores debido a problemas de rendimiento y al requerimiento de que Microsoft Excel esté instalado, lo que puede llevar a desafíos de mantenimiento.

¿Cómo mejora IronXL el rendimiento en comparación con las bibliotecas interop tradicionales de Excel?

IronXL ofrece una API más rápida y eficiente que Microsoft Office Interop Excel, que está diseñada como una aplicación de interfaz de usuario y tiende a ser más lenta y consumir más recursos.

¿Es IronXL adecuado para uso comercial en aplicaciones de software?

Sí, IronXL puede ser licenciado para uso comercial con varias opciones de licencia, incluyendo licencias de un solo proyecto, desarrollador y global, todas las cuales incluyen una garantía de devolución de dinero de 30 días.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más