Proteger archivos de Excel en Java

Los archivos de Excel se utilizan para almacenar datos pequeños y grandes en forma de filas y columnas. Junto con el almacenamiento de datos, puede realizar otras operaciones, como cálculos y análisis de datos, mediante gráficos y tablas. Dado que vale la pena proteger los datos, MS Excel le permite proteger los archivos de Excel. Este artículo cubre cómo automatizar la protección de archivos de MS Excel mediante programación. En particular, aprenderá cómo proteger y desproteger archivos de Excel usando Java.

API de Java para proteger archivos de Excel

Aspose.Cells for Java es una conocida API de manipulación de hojas de cálculo que está diseñada para crear, editar y convertir archivos de Excel desde las aplicaciones de Java. Junto con otras funciones básicas y avanzadas de automatización de Excel, Aspose.Cells admite la protección de los archivos de Excel. Puede descargar el JAR de la API o instalarlo usando la siguiente configuración de Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>20.12</version>
</dependency>

Proteger archivos de Excel usando Java

Aspose.Cells for Java proporciona los siguientes tipos de protección para proteger los libros de Excel.

  • TODOS - User cannot modify anything
  • CONTENIDO - User cannot enter data
  • OBJETOS - User cannot modify drawing objects
  • ESCENARIOS - User cannot modify saved scenarios
  • ESTRUCTURA - User cannot modify saved structure
  • VENTANAS - User cannot modify saved windows
  • NINGUNA - No protection

Los siguientes son los pasos para proteger un archivo de Excel usando Aspose.Cells for Java.

El siguiente ejemplo de código muestra cómo proteger un archivo de Excel en Java.

// Abre el archivo Excel
Workbook workbook = new Workbook("workbook.xlsx");

// Proteger el Workbook especificando el tipo de protección
workbook.protect(ProtectionType.ALL, "12345");

// Guarda el archivo
workbook.save("workbook_protected.xlsx");

Desproteger archivos de Excel usando Java

Los siguientes son los pasos para desproteger un archivo de Excel protegido con contraseña usando Aspose.Cells for Java.

El siguiente ejemplo de código muestra cómo desproteger un archivo de Excel en Java.

// Abre el archivo Excel
Workbook workbook = new Workbook("workbook_protected.xlsx");

// Desproteger Workbook
workbook.unprotect("12345");

// Establecer contraseña en nulo
workbook.getSettings().setPassword(null);

// Guarda el archivo
workbook.save("workbook_unprotected.xlsx");

Proteja las hojas de cálculo de Excel con Java

También puede aplicar protección a nivel de hoja de trabajo. Los siguientes son los pasos para proteger una hoja de cálculo de Excel usando Aspose.Cells for Java.

El siguiente ejemplo de código muestra cómo proteger una hoja de cálculo de Excel mediante Java.

// Abre el archivo Excel
Workbook workbook = new Workbook("workbook.xlsx");

// Acceso a la primera hoja de trabajo en el archivo de Excel
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet worksheet = worksheets.get(0);

Protection protection = worksheet.getProtection();

// Los siguientes 3 métodos son solo para Excel 2000 y formatos anteriores
protection.setAllowEditingContent(false);
protection.setAllowEditingObject(false);
protection.setAllowEditingScenario(false);

// Proteja la primera hoja de trabajo con una contraseña "1234"
protection.setPassword("1234");

// Guarda el archivo
workbook.save("Excel.xlsx");

Desproteger hojas de trabajo usando Java

El procedimiento para desproteger una hoja de cálculo es el mismo que para protegerla. La única diferencia es que utilizará el método Worksheet.unprotect(String). El siguiente ejemplo de código muestra cómo desproteger una hoja de cálculo de Excel mediante Java.

// Abre el archivo Excel
Workbook workbook = new Workbook("workbook.xlsx");

// Acceso a la primera hoja de trabajo en el archivo de Excel
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet worksheet = worksheets.get(0); 

// Desproteger hoja de cálculo
worksheet.unprotect("12345");

// Guarda el archivo
workbook.save("workbook_updated.xlsx");

Obtenga una licencia gratis

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

Conclusión

En este artículo, aprendió cómo proteger y desproteger archivos de Excel usando Java. Además, ha visto cómo proteger y desproteger una hoja de trabajo en particular en un libro de Excel. Puede explorar más sobre la API de automatización de Java Excel usando documentación.

Ver también