MS Excel proporciona un mecanismo de cifrado para proteger los datos de las hojas de cálculo de usuarios no autorizados. Además de aplicar el cifrado, puede especificar la contraseña necesaria para abrir los archivos de Excel. Este artículo cubre cómo realizar el cifrado de archivos de Excel desde aplicaciones .NET. En particular, aprenderá a cifrar y descifrar los archivos de Excel usando C#.
- API de C# para cifrar o descifrar archivos de Excel
- Cifrar archivos de Excel usando C#
- Descifrar archivos de Excel usando C#
- Verificar la contraseña del archivo de Excel cifrado
- Obtenga una licencia gratis
API de C# para cifrar o descifrar archivos de Excel
Para realizar operaciones de cifrado y descifrado en archivos de Excel, este artículo utiliza Aspose.Cells for .NET API. La API proporciona formas sencillas de cifrar y proteger con contraseña los archivos de Excel con el tipo de cifrado deseado. Puede descargar la API o instalarla dentro de sus aplicaciones .NET usando NuGet.
Install-Package Aspose.Cells
Cifrar archivos de Excel usando C#
Aspose.Cells for .NET admite los tipos de cifrado SHA y AES para cifrar archivos de Excel de la misma manera que lo hace MS Excel. Para los archivos de Excel 2003, puede elegir entre los siguientes tipos de cifrado:
- XOR
- Compatible (compatible con Office 97/2000)
- Proveedor criptográfico mejorado V1
- Fuerte proveedor criptográfico
Los siguientes son los pasos para cifrar un archivo de Excel usando C#.
- Cargue el archivo de Excel usando la clase Workbook.
- Use el método Workbook.SetEncryptionOptions(EncryptionType, int) para aplicar el cifrado deseado.
- Establezca la contraseña usando la propiedad Workbook.Settings.Password.
- Guarde el Workbook usando el método Workbook.Save(string).
El siguiente ejemplo de código muestra cómo cifrar un archivo de Excel usando C#.
// Abrir un archivo de Excel
Workbook workbook = new Workbook("Book1.xls");
// Especifique el tipo de cifrado XOR
workbook.SetEncryptionOptions(EncryptionType.XOR, 40);
// Especifique el tipo de cifrado fuerte (RC4, Microsoft Strong Cryptographic Provider)
workbook.SetEncryptionOptions(EncryptionType.StrongCryptographicProvider, 128);
// Proteger con contraseña el archivo
workbook.Settings.Password = "1234";
// Guarde el archivo de Excel
workbook.Save("encryptedBook.xls");
Descifrar archivos de Excel usando C#
Los siguientes son los pasos para descifrar archivos de Excel usando Aspose.Cells for .NET API.
- Cargue el archivo de Excel proporcionando la ruta y la contraseña al constructor de la clase Workbook.
- Establezca la contraseña en nulo usando la propiedad Workbook.Settings.Password.
- Guarde el Workbook usando el método Workbook.Save(string).
El siguiente ejemplo de código muestra cómo descifrar un archivo de Excel usando C#.
// Abrir un archivo de Excel
Workbook workbook = new Workbook("encryptedBook.xlsx", new LoadOptions { Password="1234" });
// Establecer la contraseña en nulo
workbook.Settings.Password = null;
// Guarde el archivo de Excel.
workbook.Save("decryptedBook.xlsx");
Verifique la contraseña del archivo de Excel cifrado usando C#
Aspose.Cells for .NET también le permite verificar la contraseña de los archivos de Excel cifrados. Para esto, puede seguir los pasos a continuación.
- Cargue el archivo de Excel usando la clase FileStream.
- Para verificar la contraseña, use el método FileFormatUtil.VerifyPassword(FileStream, string) que devuelve un valor bool.
- Si el valor devuelto es verdadero, la contraseña es válida; de lo contrario, no es válida.
El siguiente ejemplo de código muestra cómo verificar la contraseña de un archivo de Excel cifrado mediante C#.
// Crear un objeto Stream
FileStream fstream = new FileStream("EncryptedBook1.xlsx", FileMode.Open);
// Verificar contraseña
bool isPasswordValid = FileFormatUtil.VerifyPassword(fstream, "1234");
// Imprimir resultados
Console.WriteLine("Password is Valid: " + isPasswordValid);
Obtenga una licencia gratis
Puede obtener una licencia temporal gratuita para probar la API sin limitaciones de evaluación.
Conclusión
En este artículo, ha aprendido a cifrar y descifrar archivos de Excel utilizando C# desde aplicaciones .NET. Además, has visto cómo verificar la contraseña de los archivos de Excel encriptados. Puede explorar más sobre la API de automatización de C# Excel usando documentación.