Aprendamos a proteger los archivos de hojas de cálculo del acceso no autorizado. Anteriormente discutimos agregar marcas de agua de texto e imagen a las hojas de cálculo de Excel para evitar cualquier uso ilegal. En este artículo, veremos cómo proteger con contraseña un archivo de Excel usando C#. Además, cambiaremos la contraseña existente y también aprenderemos a eliminar la contraseña para desbloquear archivos de Excel.

Proteger mediante programación los archivos de Excel con contraseña - Bloquear Desbloquear

A continuación se tratan los siguientes temas:

.NET API para bloquear y desbloquear archivos de Excel

Para bloquear y desbloquear documentos, usaremos GroupDocs.Merger for .NET. Esta API permite agregar, cambiar y eliminar funciones de seguridad de contraseña para los documentos dentro de las aplicaciones .NET. Además de proteger y desproteger las hojas de cálculo de Excel, la API ofrece muchas más funciones, como fusionar y dividir, que se mencionan en la documentación.

Puede descargar las DLL o el instalador MSI desde la sección de descargas o instalar la API en su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Merger

Proteger con contraseña archivos de Excel usando C# - Bloquear hojas de cálculo

Bloquear hoja de cálculo con contraseña

Comencemos agregando protección al archivo bloqueándolo con la contraseña. Los siguientes pasos muestran cómo agregar seguridad de contraseña a las hojas de cálculo de Excel usando C#.

  • Defina la contraseña usando la clase AddPasswordOptions.
  • Cargue el archivo de Excel (XLS/XLSX) usando la clase Merger.
  • Bloquee el archivo agregando una contraseña mediante el método AddPassword.
  • Guarde la hoja de cálculo protegida con el método Guardar.

El siguiente código C# agrega la contraseña al archivo de Excel por seguridad.

/*
 * Agregue protección con contraseña a los archivos de hojas de cálculo de Excel (XLS/XLSX) usando C#
 */
string filePath = @"path/spreadsheet.xlsx";

AddPasswordOptions addOptions = new AddPasswordOptions("mySECRETpassWORD");

using (Merger merger = new Merger(filePath))
{
    merger.AddPassword(addOptions);
    merger.Save(@"path/protected-spreadsheet.xlsx");
}

Aquí está la salida del código anterior. Cuando intente abrir el archivo de la hoja de cálculo, el editor o el visor le pedirá la contraseña para demostrar su autoridad.

Ingrese la contraseña del archivo protegido

Actualice la contraseña existente de los archivos de Excel usando C#

¿Tu contraseña está realmente expuesta? Se mas cuidadoso la proxima vez. Cambiémoslo rápidamente programáticamente con el nuevo y un poco difícil. Los siguientes pasos le permiten cambiar la contraseña actual de su archivo de hoja de cálculo dentro de su aplicación .NET en C#.

  • Primero, prepare las Opciones de carga usando la contraseña actual.
  • Luego, prepare las Opciones de actualización de contraseña usando la nueva contraseña.
  • Luego, cargue el archivo XLS/XLSX usando la clase Merger y las opciones de carga.
  • Ahora, cambie la contraseña existente usando el método UpdatePassword.
  • Finalmente, guarde el archivo bloqueado con la contraseña modificada utilizando el método Guardar.

Aquí está el fragmento de código para cambiar la contraseña actual del archivo de hoja de cálculo.

/*
 * Cambiar la contraseña de las hojas de cálculo de Excel protegidas usando C#
 */
string filePath = @"path/protected-spreadsheet.xlsx";

LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");
UpdatePasswordOptions updateOptions = new UpdatePasswordOptions("TOPSECRET_pa22WORD");

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.UpdatePassword(updateOptions);
    merger.Save(@"path/pwd-changed-spreadsheet.xlsx");
}

Eliminar contraseña para desproteger archivos de hoja de cálculo de Excel usando C# - Desbloquear XLS/XLSX

Hoja de cálculo desbloqueada - Contraseña eliminada

Si sus hojas de cálculo ahora están en buenas manos, puede eliminar la contraseña para acceder a ellas fácilmente. Los siguientes pasos muestran cómo desbloquear el archivo de Excel eliminando su contraseña usando C#.

  • Prepare las Opciones de carga usando la contraseña del archivo.
  • Cargue el archivo de hoja de cálculo usando la clase Merger y las opciones de carga.
  • Elimine la contraseña existente mediante el método RemovePassword.
  • Guarde el archivo desbloqueado usando el método Guardar.

El siguiente fragmento de código C# desbloquea el archivo de Excel eliminando su contraseña existente, por lo tanto, cualquiera puede acceder a él sin autorización.

/*
 * Elimine la protección con contraseña de las hojas de cálculo de Excel usando C#
 */
string filePath = @"path/protected-spreadsheet.xlsx";

LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.RemovePassword();
    merger.Save(@"path/unlocked-spreadsheet.xlsx");
}

Conclusión

Concluyamos lo que aprendimos hoy. Comenzamos con el archivo de hoja de cálculo de Excel simple (XLS/XLSX) y agregamos protección con contraseña. Luego cambiamos la contraseña existente de esa hoja de cálculo protegida. Al final, aprendimos cómo quitar la contraseña del archivo protegido para desproteger la hoja de cálculo de Excel. Ahora puede pasar a crear su propia aplicación de protección y eliminación de contraseñas mediante la API de .NET.

Para obtener más información sobre GroupDocs.Merger for .NET, visite la documentación. Para consultas, contáctenos a través del foro.

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para usar la API sin las limitaciones de evaluación.

Ver también