Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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#:
Marco de trabajo Syncfusion Excel
Empecemos con una comparación de estas bibliotecas.
IronXL es una biblioteca .NET Excel de códigos C# desarrollada porIron 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 paralectura y escritura de datos desde/a un libro Excel, manipulando objetos del libro,acceso a fuentes de datos externasydatos de carga en un libro de Excel.
Echemos un vistazo a las características de IronXL.
Hay muchoscaracterísticas de IronXL que la distinguen de otras bibliotecas.
Con IronXL podemos cargar, leer y editar datos de documentos de hojas de cálculo como XLS,XLSXXLST, XLSM,CSVy 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.
IronXL tiene una gran variedad de funciones para crear hojas de cálculo congráficos personalizados. Dispone de una buena documentación de la API para respaldarlos.
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.
IronXL es compatible contrabajar 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.
Los usuarios de Excel a menudo necesitan emplear el formato en las celdas de Excel. IronXL es compatible conformato 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:
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.
EnBiblioteca 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#.
Veamos las características de la biblioteca Syncfusion Excel:
Modificar documentos Excel existentes.
Rellenar datos conmarcadores de plantilla.
Veamos cómo funcionan estas bibliotecas. Para comprobar las distintas funcionalidades, necesitamos crear primero un proyecto C#. Así pues, empecemos.
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.
Seleccione C# Console Application de las plantillas y haga clic en el botón Next.
Aplicación de consola
Dé un nombre al proyecto y haga clic en el botón Siguiente.
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 .NET Framework es la 5.0. Haga clic en el botón Crear. Creará una aplicación de consola C#.
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.
Existen varias formas de descargar e instalar la biblioteca IronXL. Son las siguientes:
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 Administrador de Paquetes
:ProductInstall
Comenzará a instalar la biblioteca IronXL.
**Instalación de IronXL
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
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
IronXL.Excel
y haga clic en el botón Install. La biblioteca se instalará automáticamente.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.
Siga los pasos que se indican a continuación para instalar la biblioteca Syncfusion Excel:
:InstallCmd Install-Package Syncfusion.XlsIO.WinForms
:InstallCmd Install-package Syncfusion.XlsIO.Wpf
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.
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
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.
//Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Select cells easily in Excel notation and return the calculated value, date, text or formula
int cellValue = sheet ["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in sheet ["A2:B10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
//Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Select cells easily in Excel notation and return the calculated value, date, text or formula
int cellValue = sheet ["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in sheet ["A2:B10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
'Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()
'Select cells easily in Excel notation and return the calculated value, date, text or formula
Dim cellValue As Integer = sheet ("A2").IntValue
' Read from Ranges of cells elegantly.
For Each cell In sheet ("A2:B10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
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.
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
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.
//Create an instance of new ExcelEngine IApplication application
using (ExcelEngine excelEngine = new ExcelEngine())
{
//Instantiate the Excel application object using IApplication application = excelengine excel
IApplication application = excelEngine.Excel;
//Set the Excelengine excel application defaultversion = excelversion
application.DefaultVersion = ExcelVersion.Excel2016;
//Load the existing Excel workbook into IWorkbook workbook = application. Workbooks
IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");
//Get the first worksheet in the workbook into IWorksheet
IWorksheet worksheet = workbook.Worksheets [0];
//Assign some text in a cell
worksheet.Range ["A3"].Text = "Hello World";
//Save the Excel document
workbook.SaveAs("Output.xlsx", Response, ExcelDownloadType.PromptDialog, ExcelHttpContentType.Excel2016);
}
//Create an instance of new ExcelEngine IApplication application
using (ExcelEngine excelEngine = new ExcelEngine())
{
//Instantiate the Excel application object using IApplication application = excelengine excel
IApplication application = excelEngine.Excel;
//Set the Excelengine excel application defaultversion = excelversion
application.DefaultVersion = ExcelVersion.Excel2016;
//Load the existing Excel workbook into IWorkbook workbook = application. Workbooks
IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");
//Get the first worksheet in the workbook into IWorksheet
IWorksheet worksheet = workbook.Worksheets [0];
//Assign some text in a cell
worksheet.Range ["A3"].Text = "Hello World";
//Save the Excel document
workbook.SaveAs("Output.xlsx", Response, ExcelDownloadType.PromptDialog, ExcelHttpContentType.Excel2016);
}
'Create an instance of new ExcelEngine IApplication application
Using excelEngine As New ExcelEngine()
'Instantiate the Excel application object using IApplication application = excelengine excel
Dim application As IApplication = excelEngine.Excel
'Set the Excelengine excel application defaultversion = excelversion
application.DefaultVersion = ExcelVersion.Excel2016
'Load the existing Excel workbook into IWorkbook workbook = application. Workbooks
Dim workbook As IWorkbook = application.Workbooks.Open("Sample.xlsx")
'Get the first worksheet in the workbook into IWorksheet
Dim worksheet As IWorksheet = workbook.Worksheets (0)
'Assign some text in a cell
worksheet.Range ("A3").Text = "Hello World"
'Save the Excel document
workbook.SaveAs("Output.xlsx", Response, ExcelDownloadType.PromptDialog, ExcelHttpContentType.Excel2016)
End Using
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.
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.
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;
//Create new Excel WorkBook document.
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";
//Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");
//Add data and styles to the new worksheet
xlsSheet ["A1"].Value = "Hello World";
xlsSheet ["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet ["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
//Save the excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
using IronXL;
//Create new Excel WorkBook document.
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";
//Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");
//Add data and styles to the new worksheet
xlsSheet ["A1"].Value = "Hello World";
xlsSheet ["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet ["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
//Save the excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
Imports IronXL
'Create new Excel WorkBook document.
Private xlsxWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
xlsxWorkbook.Metadata.Author = "IronXL"
'Add a blank WorkSheet
Dim xlsSheet As WorkSheet = xlsxWorkbook.CreateWorkSheet("main_sheet")
'Add data and styles to the new worksheet
xlsSheet ("A1").Value = "Hello World"
xlsSheet ("A2").Style.BottomBorder.SetColor("#ff6600")
xlsSheet ("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
'Save the excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
Salida:
**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.
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
Ahora añade las siguientes líneas de código:
//New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
//Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
//Instantiate the Excel application object
IApplication application = excelEngine.Excel;
//Assigns default application version
application.DefaultVersion = ExcelVersion.Excel2013;
//A new workbook is created equivalent to creating a new workbook in Excel
//Create a workbook with 1 worksheet using workbook = application Workbooks create
IWorkbook workbook = application.Workbooks.Create(1);
//Access first worksheet from the workbook
IWorksheet worksheet = workbook.Worksheets [0];
//Adding text to a cell
worksheet.Range ["A1"].Text = "Hello World";
//Saving the workbook to disk in XLSX format
workbook.SaveAs("Sample.xlsx");
}
//New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
//Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
//Instantiate the Excel application object
IApplication application = excelEngine.Excel;
//Assigns default application version
application.DefaultVersion = ExcelVersion.Excel2013;
//A new workbook is created equivalent to creating a new workbook in Excel
//Create a workbook with 1 worksheet using workbook = application Workbooks create
IWorkbook workbook = application.Workbooks.Create(1);
//Access first worksheet from the workbook
IWorksheet worksheet = workbook.Worksheets [0];
//Adding text to a cell
worksheet.Range ["A1"].Text = "Hello World";
//Saving the workbook to disk in XLSX format
workbook.SaveAs("Sample.xlsx");
}
'New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
'Instantiate the spreadsheet creation engine
Using excelEngine As New ExcelEngine()
'Instantiate the Excel application object
Dim application As IApplication = excelEngine.Excel
'Assigns default application version
application.DefaultVersion = ExcelVersion.Excel2013
'A new workbook is created equivalent to creating a new workbook in Excel
'Create a workbook with 1 worksheet using workbook = application Workbooks create
Dim workbook As IWorkbook = application.Workbooks.Create(1)
'Access first worksheet from the workbook
Dim worksheet As IWorksheet = workbook.Worksheets (0)
'Adding text to a cell
worksheet.Range ("A1").Text = "Hello World"
'Saving the workbook to disk in XLSX format
workbook.SaveAs("Sample.xlsx")
End Using
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.
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.
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.
//Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
//Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
'Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls")
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv")
xlsxWorkbook.SaveAsJson("NewExcelFile.json")
xlsxWorkbook.SaveAsXml("NewExcelFile.xml")
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.
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.
//Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");
//Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
//Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");
//Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
'Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json")
'Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", True)
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.
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.
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;
//This is how we can protect the worksheet by setting the password to it
//Users will then need to know this password to edit the password protected Excel files worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();
//This is how to unprotect the worksheet and remove any password locks
//It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
using IronXL;
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;
//This is how we can protect the worksheet by setting the password to it
//Users will then need to know this password to edit the password protected Excel files worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();
//This is how to unprotect the worksheet and remove any password locks
//It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
Imports IronXL
Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private worksheet As WorkSheet = workbook.DefaultWorkSheet
'This is how we can protect the worksheet by setting the password to it
'Users will then need to know this password to edit the password protected Excel files worksheet in Excel.
worksheet.ProtectSheet("password")
workbook.Save()
'This is how to unprotect the worksheet and remove any password locks
'It works even if you do not know the password!
worksheet.UnprotectSheet()
workbook.Save()
La hoja ProtectSheet()permite al usuario encriptar un fichero Excel. Para desproteger la hoja, podemos utilizar la función
UnprotectSheet()` después de cargar el fichero Excel. Esta función eliminará todas las contraseñas, aunque no las conozca.
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())
{
//Instantiate the application object
IApplication application = excelEngine.Excel;
//Create a workbook
IWorkbook workbook = application.Workbooks.Create(1);
//Protect the workbook specifying a password with Boolean attributes for structure and windows protection
bool isProtectWindow = true;
bool isProtectContent = true;
workbook.Protect(isProtectWindow, isProtectContent, "password");
//Save the Excel file
workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
}
}
private void ProtectWorkbook()
{
using (ExcelEngine excelEngine = new ExcelEngine())
{
//Instantiate the application object
IApplication application = excelEngine.Excel;
//Create a workbook
IWorkbook workbook = application.Workbooks.Create(1);
//Protect the workbook specifying a password with Boolean attributes for structure and windows protection
bool isProtectWindow = true;
bool isProtectContent = true;
workbook.Protect(isProtectWindow, isProtectContent, "password");
//Save the Excel file
workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
}
}
Private Sub ProtectWorkbook()
Using excelEngine As New ExcelEngine()
'Instantiate the application object
Dim application As IApplication = excelEngine.Excel
'Create a workbook
Dim workbook As IWorkbook = application.Workbooks.Create(1)
'Protect the workbook specifying a password with Boolean attributes for structure and windows protection
Dim isProtectWindow As Boolean = True
Dim isProtectContent As Boolean = True
workbook.Protect(isProtectWindow, isProtectContent, "password")
'Save the Excel file
workbook.SaveAs("d:\test\XlsIOOutput_ProtectedWorkbook.xlsx")
End Using
End Sub
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.
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 elprueba gratuita para la producción sin ningún pago. Si decide adquirir IronXL, los planes de precios son los siguientes:
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
La Edición Professional 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 Professional
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 Unlimited
IronXL también admite la distribución de derechos de autor, y además le ofrece soporte y actualizaciones del producto.
Distribución de regalías
IronXLpágina de licencias contiene más detalles sobre precios y derechos de uso.
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 paraequipos de 10 o más desarrolladoresy especiallicencias ilimitadas para su uso en proyectos individuales o para empresas enteras.
Syncfusion
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 $749. 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 puedeadquirir cinco paquetes de Iron Software sólo para $suiteLiteLicense
.
9 productos API .NET para sus documentos de oficina