COMPARACIóN CON OTROS COMPONENTES

Comparación entre IronXL y Syncfusion Excel

Actualizado 7 de junio, 2022
Compartir:

Introducción

Manipular Excel mediante programación puede resultar difícil para los desarrolladores. Hay varios problemas que surgen al intentar editar archivos de Microsoft Excel. Los principales problemas son la dificultad con la interfaz de usuario y la falta de documentación, lo que dificulta el manejo de un archivo Excel. Pero, por suerte, ahora disponemos de algunas bibliotecas de Excel escritas por programadores expertos. Estas bibliotecas ayudan a editar datos de archivos de Microsoft Excel. Aquí hablaré de dos bibliotecas Excel C#:

  • IronXL: Biblioteca Excel C#
  • Marco de trabajo Syncfusion Excel

    Empecemos con una comparación de estas bibliotecas.

IronXL: Biblioteca Excel C

IronXL es una biblioteca .NET Excel de códigos C# desarrollada por Iron Software que se utiliza para manipular mediante programación documentos Excel. IronXL está escrito en el .NET framework y simplifica el proceso de desarrollo de aplicaciones que normalmente requieren Microsoft Excel para funcionar.

IronXL proporciona al programador un conjunto de clases, métodos y propiedades que pueden utilizarse para lectura y escritura de datos desde/a un libro Excel, manipulando objetos del libro, acceso a fuentes de datos externas y datos de carga en un libro de Excel.

Echemos un vistazo a las características de IronXL.

Características de IronXL

Hay muchos características de IronXL que la distinguen de otras bibliotecas.

Cargar, leer y editar datos

Con IronXL podemos cargar, leer y editar datos de documentos de hojas de cálculo como XLS, XLSXXLST, XLSM, CSV y TSV. IronXL proporciona funciones muy sencillas y fáciles de recordar para crear, leer y editar estos documentos de hoja de cálculo. Proporciona un control total sobre los documentos.

**Creación de gráficos

IronXL tiene una gran variedad de funciones para crear hojas de cálculo con gráficos personalizados. Dispone de una buena documentación de la API para respaldarlos.

Guardar y exportar

IronXL es ideal para guardar y exportar documentos en múltiples formatos. IronXL permite exportar o convertir archivos de Excel a los formatos XLS, XLSX, XLST, XLSM, CSV, TSV y JSON.

**Trabajar con fórmulas

IronXL es compatible con trabajar con fórmulas en archivos Excel. Podemos crear cualquier fórmula y aplicarla a cualquier celda según nuestras necesidades. IronXL tiene excelentes y sencillas funciones para ayudarnos a trabajar con fórmulas.

**Formatos de datos de celdas

Los usuarios de Excel a menudo necesitan emplear el formato en las celdas de Excel. IronXL es compatible con formato condicional características. IronXL está aquí para ayudar a formatear datos de celdas con funciones simples y fáciles de usar. IronXL es compatible con todos los formatos admitidos por Microsoft Excel. Puede dar formato a los datos con estos formatos:

  • Texto
  • Número
  • Fórmulas
  • Fechas
  • Moneda
  • Porcentajes
  • Científico
  • Tiempo
  • Formatos personalizados

Estilismo celular

La estilización de celdas es una característica importante de Microsoft Excel que ayuda a diferenciar los datos importantes. Es muy útil, y IronXL también admite esta función. Puede cambiar el estilo y el tamaño de la fuente, patrón de fondo, borde y alineación utilizando las funciones IronXL.

Syncfusion Excel

En Biblioteca Syncfusion proporciona una API para leer, escribir y manipular Microsoft Excel (XLS) archivos. La biblioteca Syncfusion es una biblioteca C# que puede ser utilizada por los desarrolladores para crear sus aplicaciones de lectura, escritura y manipulación de Microsoft Excel. (XLS) archivos. **Importación de datos personalizados también es compatible. Es compatible con todos los sistemas operativos que admiten lenguajes de programación C#.

Características de Syncfusion Excel

Veamos las características de la biblioteca Syncfusion Excel:

  • Crear documentos Excel desde cero.
  • Modificar documentos Excel existentes.
  • Importar y exportar datos.
  • Admite fórmulas de Excel.
  • Admite la creación y manipulación de tablas, tablas dinámicas y gráficos dinámicos.
  • Rellenar datos con marcadores de plantilla.

    Veamos cómo funcionan estas bibliotecas. Para comprobar las distintas funcionalidades, necesitamos crear primero un proyecto C#. Así pues, empecemos.

1. Creación de un proyecto C

En este tutorial se utilizará la versión de Visual Studio 2019 (se recomienda la última versión) y el lenguaje de programación C# para construir un proyecto.

  • Abrir Visual Studio 2019.
  • Haga clic en "Crear" para crear un nuevo proyecto.
  • Seleccione C# Console Application de las plantillas y haga clic en el botón Next.

    Aplicación de consola

    Aplicación de consola

  • Dé un nombre al proyecto y haga clic en el botón Siguiente.

    Configuración del proyecto

    Configuración del proyecto

  • Seleccione el marco de destino .NET >= 3.1 porque 3.1 es compatible y funciona en todos los dispositivos. La versión más reciente y estable del marco .NET es la 5.0. Haga clic en el botón Crear. Creará una aplicación de consola C#.

    Marco de trabajo de destino .NET

    Marco objetivo de .NET

    También puede utilizar proyectos C# existentes. Basta con abrir el proyecto e instalar las bibliotecas. Veremos cómo instalar las bibliotecas de Excel en la siguiente sección.

2. Instalación de la biblioteca IronXL

Existen varias formas de descargar e instalar la biblioteca IronXL. Son las siguientes:

  1. Consola del gestor de paquetes
  2. Uso del gestor de paquetes NuGet

2.1 Consola del gestor de paquetes

Podemos instalar la librería IronXL utilizando la Consola del Gestor de Paquetes. Siga los pasos que se indican a continuación para instalarlo:

  • Abra la Consola del Administrador de Paquetes. Suele encontrarse en la parte inferior de Visual Studio.

    Consola del gestor de paquetes Consola del Administrador de Paquetes

  • Escriba el siguiente comando y pulse Intro.
  :ProductInstall
  • Comenzará a instalar la biblioteca IronXL.

    Instalación de IronXL

    **Instalación de IronXL

  • Después de la instalación, podemos utilizarlo en nuestro proyecto.

2.2 Instalación mediante el gestor de paquetes NuGet

Podemos instalar la biblioteca IronXL directamente desde el gestor de paquetes NuGet. Siga estos pasos para instalar IronXL:

  • Haga clic en Herramientas de la barra de menús y pase el ratón sobre NuGet Package Manager.

    Gestor de paquetes NuGet

    Gestor de paquetes NuGet

  • Seleccione Gestionar paquetes NuGet para la solución. Haga clic en Browse y escriba IronXL en la barra de búsqueda. Mostrará la biblioteca IronXL en los resultados de la búsqueda.

    Gestión de paquetes NuGet

    Gestión de paquetes NuGet

  • Haga clic en IronXL.Excel y haga clic en el botón Install. La biblioteca se instalará automáticamente.

3. Instalación de la biblioteca Syncfusion Excel

Podemos instalar la biblioteca Syncfusion Excel utilizando la consola del gestor de paquetes. A diferencia de IronXL, necesitamos instalar cada librería de forma diferente para distintos proyectos como Windows Forms, WPF, ASP.NET, UWP y otros. Tenemos que escribir diferentes comandos para diferentes plataformas.

3.1 Instalación mediante la consola del gestor de paquetes

Siga los pasos que se indican a continuación para instalar la biblioteca Syncfusion Excel:

  • Vaya a la consola del gestor de paquetes.
  • Escriba el siguiente comando para instalar la biblioteca Syncfusion Excel:
  • Escriba los siguientes comandos para utilizar la biblioteca Syncfusion Excel con Windows Forms y WPF.
    :InstallCmd Install-Package Syncfusion.XlsIO.WinForms
    :InstallCmd Install-package Syncfusion.XlsIO.Wpf
  • Comenzará la instalación de la biblioteca. Después de la instalación, puede utilizar el marco Syncfusion Excel en su proyecto fácilmente.

4. Lectura de un documento Excel

La lectura de un documento Excel es una funcionalidad primordial de cualquier biblioteca Excel. Vamos a echar un vistazo a cómo podemos leer archivos de Excel utilizando el IronXL y Syncfusion Excel frameworks.

4.1 IronXL

IronXL permite la lectura de documentos Excel sin necesidad de utilizar Microsoft.Office.Interop.Excel. Antes de comenzar con IronXL, hay que dar un paso importante: siempre importamos IronXL a nuestro archivo de programa. Por lo tanto, en la parte superior, debemos escribir la siguiente línea de código:

using IronXL;
using System.Linq;
using IronXL;
using System.Linq;
Imports IronXL
Imports System.Linq
VB   C#

A continuación, escriba las siguientes líneas de código para leer y editar archivos Excel sin la molestia de escribir varias líneas de código con conocimientos de programación básica.

//Los formatos de hoja de cálculo compatibles para la lectura son: XLSX, XLS, CSV y TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Seleccione fácilmente celdas en notación Excel y devuelva el valor calculado, la fecha, el texto o la fórmula
int cellValue = sheet ["A2"].IntValue;
//  Lee desde Rangos de células con elegancia.
foreach (var cell in sheet ["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
//Los formatos de hoja de cálculo compatibles para la lectura son: XLSX, XLS, CSV y TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Seleccione fácilmente celdas en notación Excel y devuelva el valor calculado, la fecha, el texto o la fórmula
int cellValue = sheet ["A2"].IntValue;
//  Lee desde Rangos de células con elegancia.
foreach (var cell in sheet ["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
'Los formatos de hoja de cálculo compatibles para la lectura son: XLSX, XLS, CSV y TSV
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()
'Seleccione fácilmente celdas en notación Excel y devuelva el valor calculado, la fecha, el texto o la fórmula
Dim cellValue As Integer = sheet ("A2").IntValue
'  Lee desde Rangos de células con elegancia.
For Each cell In sheet ("A2:B10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

La función WorkBook.Load ayuda a cargar el libro de trabajo fácilmente. En el código dado, también vemos los valores de las celdas y los imprimimos en la consola.

4.2 Syncfusion Excel

Veamos cómo podemos leer y editar archivos Excel existentes utilizando el marco de trabajo Syncfusion Excel. En primer lugar, con el fin de utilizar el marco Syncfusion Excel, tenemos que importar Syncfusion en nuestro proyecto. Para ello, tenemos que añadir las siguientes líneas de código en la parte superior del archivo de código:

using Syncfusion.XlsIO;
using System.Drawing;
using Syncfusion.XlsIO;
using System.Drawing;
Imports Syncfusion.XlsIO
Imports System.Drawing
VB   C#

A continuación, añada las siguientes líneas de código en el proyecto para leer y acceder a los archivos de Excel utilizando el marco de trabajo de Syncfusion Excel.

//Crear una instancia de la nueva aplicación ExcelEngine IApplication
using (ExcelEngine excelEngine = new ExcelEngine())
{
    //Instanciar el objeto de aplicación Excel utilizando IApplication application = excelengine excel
    IApplication application = excelEngine.Excel;

    //Establecer la aplicación excel Excelengine defaultversion = excelversion
    application.DefaultVersion = ExcelVersion.Excel2016;

    //Cargar el libro Excel existente en IWorkbook workbook = aplicación. Libros
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    //Obtener la primera hoja de trabajo del libro en IWorksheet
    IWorksheet worksheet = workbook.Worksheets [0];

    //Asignar texto a una celda
    worksheet.Range ["A3"].Text = "Hello World";

    //Guardar el documento Excel
    workbook.SaveAs("Output.xlsx", Response, ExcelDownloadType.PromptDialog, ExcelHttpContentType.Excel2016);
}
//Crear una instancia de la nueva aplicación ExcelEngine IApplication
using (ExcelEngine excelEngine = new ExcelEngine())
{
    //Instanciar el objeto de aplicación Excel utilizando IApplication application = excelengine excel
    IApplication application = excelEngine.Excel;

    //Establecer la aplicación excel Excelengine defaultversion = excelversion
    application.DefaultVersion = ExcelVersion.Excel2016;

    //Cargar el libro Excel existente en IWorkbook workbook = aplicación. Libros
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    //Obtener la primera hoja de trabajo del libro en IWorksheet
    IWorksheet worksheet = workbook.Worksheets [0];

    //Asignar texto a una celda
    worksheet.Range ["A3"].Text = "Hello World";

    //Guardar el documento Excel
    workbook.SaveAs("Output.xlsx", Response, ExcelDownloadType.PromptDialog, ExcelHttpContentType.Excel2016);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Podemos ver que para leer archivos de Excel en Syncfusion Excel, primero tenemos que definir la versión de Excel. A continuación, podemos abrir el archivo y editarlo. Para guardar el archivo modificado, tenemos que volver a definir el tipo de contenido del archivo modificado según la versión de Excel. IronXL es muy fácil de entender y fácil de usar en este caso porque no tuvimos que definir la versión de Excel, y porque tenemos funciones pequeñas y fáciles de recordar con parámetros en IronXL.

5. **Creación de nuevos documentos Excel

A continuación, compararemos los métodos para crear nuevos documentos Excel y rellenar los documentos creados con valores. En primer lugar, veremos cómo podemos crear documentos en IronXL.

5.1 IronXL

IronXL no requiere que Excel esté instalado en su servidor o Interop. IronXL proporciona una API más rápida e intuitiva que Microsoft.Office.Interop.Excel. Como ya sabemos, primero necesitamos importar la librería IronXL, y luego escribir el código para crear los archivos Excel. El siguiente código se utiliza para crear archivos de Excel en IronXL.

using IronXL;
//Crear un nuevo documento Excel WorkBook. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";
//Añadir una hoja de trabajo en blanco
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");
//Añadir datos y estilos a la nueva hoja de cálculo
xlsSheet ["A1"].Value = "Hello World";
xlsSheet ["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet ["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
//Guardar el archivo Excel
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
using IronXL;
//Crear un nuevo documento Excel WorkBook. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";
//Añadir una hoja de trabajo en blanco
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");
//Añadir datos y estilos a la nueva hoja de cálculo
xlsSheet ["A1"].Value = "Hello World";
xlsSheet ["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet ["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
//Guardar el archivo Excel
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
Imports IronXL
'Crear un nuevo documento Excel WorkBook. 
Private xlsxWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
xlsxWorkbook.Metadata.Author = "IronXL"
'Añadir una hoja de trabajo en blanco
Dim xlsSheet As WorkSheet = xlsxWorkbook.CreateWorkSheet("main_sheet")
'Añadir datos y estilos a la nueva hoja de cálculo
xlsSheet ("A1").Value = "Hello World"
xlsSheet ("A2").Style.BottomBorder.SetColor("#ff6600")
xlsSheet ("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
'Guardar el archivo Excel
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
VB   C#

Salida:

Salida IronXL

**Salida IronXL

Podemos establecer los metadatos de los archivos Excel. Es muy fácil establecer el valor de las celdas y dar formato a las celdas con funciones sencillas y fáciles de usar. Utilizamos la función Style.BottomBorder.SetColor para establecer el color del borde inferior de la celda.

5.2 Syncfusion Excel

El siguiente código demuestra cómo crear un nuevo archivo Excel y guardarlo con Syncfusion Excel. Añade el siguiente código e incluye los espacios de nombres necesarios:

using Syncfusion.XlsIO;
using Syncfusion.XlsIO;
Imports Syncfusion.XlsIO
VB   C#

Ahora añade las siguientes líneas de código:

//Se crea una nueva instancia de ExcelEngine equivalente a iniciar Microsoft Excel sin libros abiertos
//Instanciar el motor de creación de hojas de cálculo
using (ExcelEngine excelEngine = new ExcelEngine())
{
  //Instanciar el objeto de aplicación Excel
  IApplication application = excelEngine.Excel;

  //Asigna la versión por defecto de la aplicación
  application.DefaultVersion = ExcelVersion.Excel2013;

  //Se crea un nuevo libro equivalente a crear un nuevo libro en Excel
  //Crear un libro de trabajo con 1 hoja de cálculo utilizando libro de trabajo = aplicación Libros de trabajo crear
  IWorkbook workbook = application.Workbooks.Create(1);

  //Acceder a la primera hoja del libro de trabajo
  IWorksheet worksheet = workbook.Worksheets [0];

  //Añadir texto a una celda
  worksheet.Range ["A1"].Text = "Hello World";

  //Guardar el libro de trabajo en el disco en formato XLSX
  workbook.SaveAs("Sample.xlsx");
}
//Se crea una nueva instancia de ExcelEngine equivalente a iniciar Microsoft Excel sin libros abiertos
//Instanciar el motor de creación de hojas de cálculo
using (ExcelEngine excelEngine = new ExcelEngine())
{
  //Instanciar el objeto de aplicación Excel
  IApplication application = excelEngine.Excel;

  //Asigna la versión por defecto de la aplicación
  application.DefaultVersion = ExcelVersion.Excel2013;

  //Se crea un nuevo libro equivalente a crear un nuevo libro en Excel
  //Crear un libro de trabajo con 1 hoja de cálculo utilizando libro de trabajo = aplicación Libros de trabajo crear
  IWorkbook workbook = application.Workbooks.Create(1);

  //Acceder a la primera hoja del libro de trabajo
  IWorksheet worksheet = workbook.Worksheets [0];

  //Añadir texto a una celda
  worksheet.Range ["A1"].Text = "Hello World";

  //Guardar el libro de trabajo en el disco en formato XLSX
  workbook.SaveAs("Sample.xlsx");
}
'Se crea una nueva instancia de ExcelEngine equivalente a iniciar Microsoft Excel sin libros abiertos
'Instanciar el motor de creación de hojas de cálculo
Using excelEngine As New ExcelEngine()
  'Instanciar el objeto de aplicación Excel
  Dim application As IApplication = excelEngine.Excel

  'Asigna la versión por defecto de la aplicación
  application.DefaultVersion = ExcelVersion.Excel2013

  'Se crea un nuevo libro equivalente a crear un nuevo libro en Excel
  'Crear un libro de trabajo con 1 hoja de cálculo utilizando libro de trabajo = aplicación Libros de trabajo crear
  Dim workbook As IWorkbook = application.Workbooks.Create(1)

  'Acceder a la primera hoja del libro de trabajo
  Dim worksheet As IWorksheet = workbook.Worksheets (0)

  'Añadir texto a una celda
  worksheet.Range ("A1").Text = "Hello World"

  'Guardar el libro de trabajo en el disco en formato XLSX
  workbook.SaveAs("Sample.xlsx")
End Using
VB   C#

El código anterior crea un nuevo objeto IWorkbook, y luego crea una Hoja de Trabajo dentro del Libro de Trabajo utilizando el comando Workbooks.Create() función. Obtiene acceso a las celdas de las hojas de cálculo de Excel a través de su propiedad "cells" y, por último, guarda el archivo utilizando la propiedad SaveAs() función.

6. Exportación de archivos Excel

A continuación, veremos cómo podemos exportar archivos Excel a otros formatos de datos. Esta es una característica importante para las bibliotecas de Excel porque a veces necesitamos datos en diferentes formatos para diferentes tipos de procesamiento -- por eso comprobaremos qué biblioteca ofrece soluciones simples y fáciles.

6.1 IronXL

Usando IronXL, podemos convertir archivos Excel con sólo una línea de código. IronXL puede exportar datos de Excel a CSV, JSON, XML, XLSX, XLS, y muchos más.

El siguiente código ayuda a convertir archivos Excel a diferentes formatos utilizando IronXL.

//Exporta a muchos formatos con un guardado fluido
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
//Exporta a muchos formatos con un guardado fluido
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
'Exporta a muchos formatos con un guardado fluido
xlsxWorkbook.SaveAs("NewExcelFile.xls")
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv")
xlsxWorkbook.SaveAsJson("NewExcelFile.json")
xlsxWorkbook.SaveAsXml("NewExcelFile.xml")
VB   C#

En el código anterior, vemos que podemos exportar archivos Excel muy fácilmente con sólo una línea de código. Pero, necesitamos abrir o crear el archivo de Excel primero, y ya hemos visto arriba cómo podemos abrir y crear un archivo de Excel usando IronXL.

6.2 Syncfusion Excel

El marco Syncfusion Excel puede convertir archivos Excel a formato PDF y JSON. Podemos convertir archivos Excel a formato JSON sin instalar una biblioteca adicional. A continuación se muestra el código para convertir un archivo Excel abierto en un archivo JSON.

//Guarda el libro de trabajo en un archivo JSON, como esquema por defecto
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

//Guarda el libro de trabajo en un archivo JSON como esquema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
//Guarda el libro de trabajo en un archivo JSON, como esquema por defecto
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

//Guarda el libro de trabajo en un archivo JSON como esquema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
'Guarda el libro de trabajo en un archivo JSON, como esquema por defecto
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json")

'Guarda el libro de trabajo en un archivo JSON como esquema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", True)
VB   C#

Para convertir documentos Excel típicos en archivos PDF, necesitamos instalar una biblioteca adicional que proporcione soporte para la conversión. Excel-to-ODS guarda archivos Excel en formatos ODS para utilizarlos en diversas aplicaciones como OpenOffice y Google Sheets. Excel-to-HTML convierte dinámicamente un libro o una hoja de cálculo de Excel en un archivo HTML.

7. Protección de archivos Excel

La protección es la característica más importante de Microsoft Excel. Te permite controlar quién puede editar y abrir archivos. Los archivos Excel protegidos con contraseña son importantes porque pueden almacenar datos importantes. Veamos cómo podemos proteger nuestros archivos de Excel utilizando las bibliotecas de Excel.

7.1 IronXL

Usando IronXL, podemos proteger nuestro archivo Excel con una línea de código. El siguiente código demuestra cómo podemos abrir y proteger un archivo Excel.

using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

//Así es como podemos proteger la hoja de trabajo poniéndole una contraseña
//Los usuarios necesitarán conocer esta contraseña para editar la hoja de cálculo de los archivos Excel protegidos con contraseña en Excel.
worksheet.ProtectSheet("password");
workbook.Save();

//Así se desprotege la hoja de cálculo y se eliminan los bloqueos por contraseña 
//Funciona aunque no conozcas la contraseña.
worksheet.UnprotectSheet();
workbook.Save();
using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

//Así es como podemos proteger la hoja de trabajo poniéndole una contraseña
//Los usuarios necesitarán conocer esta contraseña para editar la hoja de cálculo de los archivos Excel protegidos con contraseña en Excel.
worksheet.ProtectSheet("password");
workbook.Save();

//Así se desprotege la hoja de cálculo y se eliminan los bloqueos por contraseña 
//Funciona aunque no conozcas la contraseña.
worksheet.UnprotectSheet();
workbook.Save();
Imports IronXL

Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private worksheet As WorkSheet = workbook.DefaultWorkSheet

'Así es como podemos proteger la hoja de trabajo poniéndole una contraseña
'Los usuarios necesitarán conocer esta contraseña para editar la hoja de cálculo de los archivos Excel protegidos con contraseña en Excel.
worksheet.ProtectSheet("password")
workbook.Save()

'Así se desprotege la hoja de cálculo y se eliminan los bloqueos por contraseña 
'Funciona aunque no conozcas la contraseña.
worksheet.UnprotectSheet()
workbook.Save()
VB   C#

La hoja ProtectSheet()permite al usuario encriptar un fichero Excel. Para desproteger la hoja, podemos utilizar la funciónUnprotectSheet()` después de cargar el fichero Excel. Esta función eliminará todas las contraseñas, aunque no las conozca.

7.2 Syncfusion Excel

Podemos proteger archivos Excel utilizando el marco de trabajo Syncfusion Excel. El siguiente código nos permite crear y proteger un fichero Excel.

private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        //Instanciar el objeto de aplicación
        IApplication application = excelEngine.Excel;

        //Crear un libro de trabajo
        IWorkbook workbook = application.Workbooks.Create(1);

        //Proteger el libro de trabajo especificando una contraseña con atributos booleanos para la protección de la estructura y las ventanas.
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        //Guardar el archivo Excel
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        //Instanciar el objeto de aplicación
        IApplication application = excelEngine.Excel;

        //Crear un libro de trabajo
        IWorkbook workbook = application.Workbooks.Create(1);

        //Proteger el libro de trabajo especificando una contraseña con atributos booleanos para la protección de la estructura y las ventanas.
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        //Guardar el archivo Excel
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
Private Sub ProtectWorkbook()
	Using excelEngine As New ExcelEngine()
		'Instanciar el objeto de aplicación
		Dim application As IApplication = excelEngine.Excel

		'Crear un libro de trabajo
		Dim workbook As IWorkbook = application.Workbooks.Create(1)

		'Proteger el libro de trabajo especificando una contraseña con atributos booleanos para la protección de la estructura y las ventanas.
		Dim isProtectWindow As Boolean = True
		Dim isProtectContent As Boolean = True
		workbook.Protect(isProtectWindow, isProtectContent, "password")

		'Guardar el archivo Excel
		workbook.SaveAs("d:\test\XlsIOOutput_ProtectedWorkbook.xlsx")
	End Using
End Sub
VB   C#

Utilizamos la función() para cifrar el archivo de Excel. Necesitamos pasar tres parámetros a la función si sólo necesitamos proteger la hoja, o si también necesitamos proteger el contenido del fichero Excel. El tercer parámetro será la contraseña que queramos establecer.

8. Licencias

8.1 IronXL

IronXL es totalmente gratuito para el desarrollo. Puede probar todos y cada uno de sus aspectos para el desarrollo. Pero, habrá una marca de agua en la versión gratuita de desarrollo. También puedes probarlo gratis en producción. Puede activar el prueba gratuita para la producción sin ningún pago. Si decide adquirir IronXL, los planes de precios son los siguientes:

Edición Lite ($599)

Puede elegir la Edición Lite si es un único desarrollador y desea utilizar IronXL en su proyecto. Esta será la mejor opción para usted.

IronXL Lite

IronXL Lite

Edición profesional (Licencia profesional)

La Edición Profesional es la mejor si tiene una empresa con múltiples sucursales en todo el mundo. Esta edición admite 10 ubicaciones, 10 desarrolladores y 10 proyectos a la vez.

IronXL Profesional

IronXL Profesional

Edición ilimitada (Licencia ilimitada)

Este plan de precios admite desarrolladores ilimitados, ubicaciones ilimitadas y proyectos ilimitados de por vida con un solo pago. Es la mejor opción si prefiere utilizar IronXL en muchos proyectos.

IronXL ilimitado

IronXL Ilimitado

IronXL también admite la distribución de derechos de autor, y además le ofrece soporte y actualizaciones del producto.

Distribución de cánones

Distribución de regalías

IronXL página de licencias contiene más detalles sobre precios y derechos de uso.

8.2 Biblioteca Syncfusion Excel

La biblioteca Syncfusion Excel también ofrece una versión de prueba gratuita. Si desea adquirir Syncfusion Excel, puede hacerlo por 395 dólares para un equipo de hasta cinco desarrolladores. Syncfusion ofrece licencias adicionales para equipos de 10 o más desarrolladores y especial licencias ilimitadas para su uso en proyectos individuales o para empresas enteras.

Syncfusion

Syncfusion

9. Conclusión

Ambas bibliotecas ofrecen funcionalidades eficaces. Pero, si nos fijamos en el panorama general, IronXL es más cómodo y fácil de usar. Tiene funciones pequeñas y fáciles de recordar. Con la ayuda de IronXL, usted puede hacer un montón de edición y formato con una sola línea de código. El flujo de código es complejo, pero un principiante puede entenderlo muy fácilmente. No es necesario que conozca o entienda el funcionamiento de IronXL. No es necesario instalar bibliotecas independientes para las distintas plataformas. Instálelo una vez y estará listo para cualquier acción.

Syncfusion Excel tiene muchas características como hemos visto anteriormente. Podemos hacer muchos formateos y conversiones con la ayuda de Syncfusion Excel. Podemos crear nuevos documentos Excel, modificar archivos Excel ya existentes, realizar múltiples formateos y encriptar. Tenemos que instalar una biblioteca independiente para realizar las conversiones.

IronXL tiene varios planes de precios. Puede contratar el plan que mejor se adapte a sus necesidades. Por ejemplo, si usted es el único desarrollador y necesita IronXL con fines comerciales para un proyecto, puede activarlo con un pago único de sólo $599. Es mucho más rentable que Syncfusion, que exige la compra de una biblioteca durante un solo año por 999 dólares, para un solo desarrollador y un solo proyecto. Por lo tanto, IronXL es mucho más barato y ofrece opciones mucho mejores que el marco Syncfusion Excel.

En conclusión, IronXL es una mejor opción que el marco Syncfusion Excel. Como hemos visto en los párrafos anteriores, es muy fácil utilizar IronXL gracias a sus sencillas funciones, y podemos hacer muchos formateos con una sola línea de código. Pero, en el marco de Syncfusion Excel, tenemos que escribir varias líneas de código para definir muchos elementos que ya están definidos en IronXL en el backend, y el usuario no tiene que gastar su tiempo en la definición de múltiples parámetros y variables. Además, IronXL también es más barato y tiene mejores opciones de licencia. Iron Software tiene actualmente una oferta especial por la que puede adquirir cinco paquetes de software por el precio de sólo dos. Esto significa que puede adquirir cinco paquetes de Iron Software sólo para $suiteLiteLicense.

< ANTERIOR
Comparación entre IronXL y GrapeCity Excel Viewer
SIGUIENTE >
Comparación entre IronXL y Spire XLS

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 897,936 Ver licencias >
123