Hoja de trabajo de protección y desprotección

Proteger hojas de trabajo

Cuando una hoja de trabajo está protegida, las acciones que un usuario puede realizar están restringidas. Por ejemplo, no pueden ingresar datos, insertar o eliminar filas o columnas, etc. Las opciones generales de protección en Microsoft Excel son:

  • Contenido
  • Objetos
  • Escenarios

Las hojas de trabajo protegidas no ocultan ni protegen datos confidenciales, por lo que es diferente del cifrado de archivos. En general, la protección de la hoja de trabajo es adecuada para fines de presentación. Evita que el usuario final modifique datos, contenido y formato en la hoja de trabajo.

Agregar o quitar protección

Aspose.Cells proporciona una clase,Libro de trabajo , que representa un archivo de Excel Microsoft. La clase Workbook contiene una WorksheetCollection que permite acceder a cada hoja de trabajo en un archivo de Excel. Una hoja de trabajo está representada por elHoja de cálculo clase.

La clase Worksheet proporciona laProteger método que se utiliza para aplicar protección a una hoja de trabajo. El método Protect acepta los siguientes parámetros:

  • Tipo de protección, el tipo de protección que se aplicará en la hoja de trabajo. El tipo de protección se aplica con la ayuda delTipo de protección enumeración.
  • Nueva contraseña, la nueva contraseña utilizada para proteger la hoja de trabajo.
  • Old Password, la contraseña anterior, si la hoja de trabajo ya está protegida con contraseña. Si la hoja de trabajo aún no está protegida, simplemente pase un valor nulo.

La enumeración ProtectionType contiene los siguientes tipos de protección predefinidos:

Tipos de protección Descripción
TODOS El usuario no puede modificar nada en esta hoja de trabajo
CONTENIDO El usuario no puede ingresar datos en esta hoja de cálculo
OBJETOS El usuario no puede modificar los objetos de dibujo
ESCENARIOS El usuario no puede modificar los escenarios guardados
ESTRUCTURA El usuario no puede modificar la estructura guardada
VENTANAS El usuario no puede modificar las ventanas guardadas
NINGUNO Sin protección

El siguiente ejemplo muestra cómo proteger una hoja de trabajo con una contraseña.

Después de usar el código anterior para proteger la hoja de trabajo, verifique la protección en la hoja de trabajo abriéndola. Una vez que abre el archivo e intenta agregar algunos datos a la hoja de trabajo, se muestra el siguiente cuadro de diálogo:

Un cuadro de diálogo que advierte que un usuario no puede modificar la hoja de trabajo

todo:imagen_alternativa_texto

Para trabajar en la hoja de trabajo, desproteja la hoja de trabajo seleccionando elProteccion , despuésDesproteger hoja desde elHerramientas elemento de menú como se muestra a continuación.

Selección del elemento de menú Desproteger hoja

todo:imagen_alternativa_texto

Se abre un cuadro de diálogo que solicita una contraseña.

Ingresar contraseña para desproteger la hoja de trabajo

todo:imagen_alternativa_texto

Protegiendo a unos pocos Cells

Puede haber ciertos escenarios en los que necesite bloquear algunas celdas solo en la hoja de trabajo. Si desea bloquear algunas celdas específicas en la hoja de cálculo, debe desbloquear todas las demás celdas de la hoja de cálculo. Todas las celdas en una hoja de trabajo ya están inicializadas para el bloqueo, puede verificar esto abriendo cualquier archivo de Excel en MS Excel y hacer clic en el botónFormato | Cells… mostrarFormato Cells cuadro de diálogo y luego haga clic en la pestaña Protección y vea una casilla de verificación etiquetada como “Bloqueada” que está marcada de forma predeterminada.

Los siguientes son los dos enfoques para implementar la tarea.

Método 1:

Los siguientes puntos describen cómo bloquear algunas celdas usando MS Excel. Este método se aplica a Microsoft Office Excel 97, 2000, 2002, 2003 y versiones posteriores.

  1. Seleccione toda la hoja de trabajo haciendo clic en el botón Seleccionar todo (el rectángulo gris directamente arriba del número de fila para la fila 1 y a la izquierda de la letra A de la columna).
  2. Haga clic en Cells en el menú Formato, haga clic en la pestaña Protección y luego desactive la casilla de verificación Bloqueado.

Esto desbloquea todas las celdas en la hoja de cálculo.

  1. Seleccione solo las celdas que desea bloquear y repita el paso 2, pero esta vez seleccione la casilla de verificación Bloqueado.
  2. Sobre elHerramientas menú, seleccioneProteccion , haga clichoja de protección y luego haga clic enDE ACUERDO.

Método2:

En este método, usamos Aspose.Cells API solo para realizar la tarea.

El siguiente ejemplo muestra cómo proteger algunas celdas en la hoja de trabajo. Primero desbloquea todas las celdas en la hoja de trabajo y luego bloquea 3 celdas (A1, B1, C1) en ella. Finalmente, protege la hoja de trabajo. Una fila/columna tiene un estilo API que además contiene un método bloqueado establecido. Puede utilizar este método para bloquear o desbloquear la fila/columna.

Proteger una fila en la hoja de trabajo

Aspose.Cells le permite bloquear fácilmente cualquier fila en la hoja de trabajo. Aquí, podemos hacer uso deaplicarEstilo() método deFila class para aplicar Style a una fila en particular en la hoja de trabajo. Este método toma dos argumentos: unEstilo objeto yBandera de estilo estructura que tiene todos los miembros relacionados con el formato aplicado.

El siguiente ejemplo muestra cómo proteger una fila en la hoja de cálculo. Primero desbloquea todas las celdas de la hoja de trabajo y luego bloquea la primera fila. Finalmente, protege la hoja de trabajo. Una fila/columna tiene un estilo API que además contiene un método setCellLocked. Puede bloquear o desbloquear la fila/columna usando la estructura StyleFlag.

Proteger una columna en la hoja de trabajo

Aspose.Cells le permite bloquear fácilmente cualquier columna en la hoja de trabajo. Aquí, podemos hacer uso deaplicarEstilo() método deColumna class para aplicar Estilo a una columna en particular en la hoja de cálculo. Este método toma dos argumentos: unEstilo objeto yBandera de estilo estructura que tiene todos los miembros relacionados con el formato aplicado.

El siguiente ejemplo muestra cómo proteger una columna en la hoja de cálculo. Primero desbloquea todas las celdas en la hoja de trabajo y luego bloquea la primera columna en ella. Finalmente, protege la hoja de trabajo. Una fila/columna tiene un estilo API que además contiene un método bloqueado establecido. Puede bloquear o desbloquear la fila/columna usando la estructura StyleFlag.

Desproteger una hoja de trabajo

Protección de hojas de trabajo yConfiguración de protección avanzada desde Excel XP discutieron diferentes enfoques para proteger las hojas de trabajo. ¿Qué sucede si un desarrollador necesita eliminar la protección de una hoja de trabajo protegida en tiempo de ejecución para que se puedan realizar algunos cambios en el archivo? Esto se puede hacer fácilmente con Aspose.Cells.

Usando Microsoft Excel

Para eliminar la protección de una hoja de trabajo:

Desde elHerramientas menú, seleccioneProteccion seguido porDesproteger hoja.

Seleccionar hoja desprotegida

todo:imagen_alternativa_texto

Se elimina la protección, a menos que la hoja de trabajo esté protegida con contraseña. En este caso, un cuadro de diálogo solicita la contraseña.

Ingresar contraseña para desproteger la hoja de trabajo

todo:imagen_alternativa_texto

Usando Aspose.Cells

Una hoja de trabajo se puede desproteger llamando alHoja de cálculo clase'Desproteger método. ÉlDesproteger El método se puede utilizar de dos maneras, que se describen a continuación.

Desproteger una hoja de trabajo simplemente protegida

Una hoja de trabajo simplemente protegida es aquella que no está protegida con una contraseña. Estas hojas de trabajo se pueden desproteger llamando al método unprotect sin pasar un parámetro.

Desproteger una hoja de trabajo protegida con contraseña

Una hoja de trabajo protegida con contraseña es aquella que está protegida con una contraseña. Estas hojas de trabajo se pueden desproteger llamando a una versión sobrecargada del método Unprotect que toma la contraseña como parámetro.

Configuración de protección avanzada desde Excel XP

Protección de hojas de trabajo discutió la protección de una hoja de trabajo en Microsoft Excel 97 y 2000. Pero desde el lanzamiento de Excel 2002 o XP, Microsoft ha agregado muchas configuraciones de protección avanzadas. Estas configuraciones de protección restringen o permiten a los usuarios:

  • Eliminar filas o columnas.
  • Edita contenidos, objetos o escenarios.
  • Formato de celdas, filas o columnas.
  • Inserta filas, columnas o hipervínculos.
  • Seleccione celdas bloqueadas o desbloqueadas.
  • Utilice tablas dinámicas y mucho más.

Aspose.Cells admite todas las configuraciones de protección avanzadas que ofrece Excel XP y versiones posteriores.

Configuración de protección avanzada con Excel XP y versiones posteriores

Para ver la configuración de protección disponible en Excel XP:

  1. Desde elHerramientas menú, seleccioneProteccion seguido porhoja de protección. Se muestra un cuadro de diálogo.

Diálogo para mostrar opciones de protección en Excel XP

todo:imagen_alternativa_texto

  1. Permita o restrinja las funciones de las hojas de trabajo o aplique una contraseña.

Configuración de protección avanzada usando Aspose.Cells

Aspose.Cells admite todas las configuraciones de protección avanzada.

Aspose.Cells proporciona una clase,Libro de trabajo , que representa un archivo de Excel Microsoft. La clase Workbook contiene una colección WorksheetCollection que permite el acceso a cada hoja de trabajo en el archivo de Excel. Una hoja de trabajo está representada por elHoja de cálculo clase.

La clase Worksheet proporciona la propiedad Protection que se utiliza para aplicar esta configuración de protección avanzada. La propiedad de Protección es de hecho un objeto de laProteccion clase que encapsula varias propiedades booleanas para deshabilitar o habilitar restricciones.

A continuación se muestra una pequeña aplicación de ejemplo. Abre un archivo de Excel y utiliza la mayoría de las configuraciones de protección avanzadas compatibles con Excel XP y versiones posteriores.

Cell Problema de bloqueo

Si desea restringir que los usuarios editen celdas, las celdas deben bloquearse antes de que se aplique cualquier configuración de protección. De lo contrario, las celdas se pueden editar incluso si la hoja de trabajo está protegida. En Microsoft Excel XP, las celdas se pueden bloquear a través del siguiente cuadro de diálogo:

Diálogo para bloquear celdas en Excel XP

todo:imagen_alternativa_texto

También es posible bloquear celdas usando el Aspose.Cells API. Cada celda tiene un estilo API que además contiene un método setLocked. Úselo para bloquear o desbloquear celdas.