Lås eller lås upp figurer
Ibland behöver du skydda alla figurer i vissa arbetsblad för att förhindra att de förstörs av oönskade situationer. I så fall måste du låsa alla figurer i det angivna arbetsbladet.
Ibland behöver du kunna modifiera vissa figurer i vissa skyddade arbetsblad, i vilket fall måste du låsa upp dessa figurer.
Denna artikel kommer att introducera i detalj hur man låser och låser upp angivna figurer.
Skydda alla figurer i ett angivet arbetsblad
För att skydda alla figurer i ett angivet arbetsblad, använd Worksheet.Protect(type) metoden, enligt visat i följande exempelkod.
import jpype | |
import asposecells | |
jpype.startJVM() | |
from asposecells.api import Workbook,SaveFormat,ProtectionType | |
text = "This is a test"; | |
workbook = Workbook(); | |
worksheet = workbook.getWorksheets().get(0); | |
shape = worksheet.getShapes().addTextBox(1, 0, 1, 0, 30, 100); | |
shape.setText(text); | |
shape = worksheet.getShapes().addRectangle(5, 0, 1, 0, 30, 100); | |
shape.setText(text); | |
shape = worksheet.getShapes().addButton(9, 0, 1, 0, 30, 100); | |
shape.setText(text); | |
shape = worksheet.getShapes().addOval(13, 0, 1, 0, 50, 100); | |
shape.setText(text); | |
#Protect all shapes in a specified worksheet | |
shape.getWorksheet().protect(ProtectionType.OBJECTS);#Protects the entire worksheet. | |
#or shape.Worksheet.Protect(ProtectionType.All);//Protects all shapes in the specified worksheet. | |
#or worksheet.Protect(ProtectionType.Objects);//Protects the entire worksheet. | |
#or worksheet.Protect(ProtectionType.All);//Protects all shapes in the specified worksheet. | |
workbook.save(r"Locked.xlsx", SaveFormat.XLSX); |
Lås upp angivna figurer i ett skyddat arbetsblad
För att låsa upp en angiven figur i ett skyddat arbetsblad, använd shape.IsLocked, enligt visad i följande exempelkod.
Observera: shape.IsLocked är meningsfull endast när arbetsbladet är skyddat.
import jpype | |
import asposecells | |
jpype.startJVM() | |
from asposecells.api import Workbook, SaveFormat,ProtectionType | |
workbook = Workbook(r"Locked.xlsx") | |
#Get protected worksheet | |
worksheet = workbook.getWorksheets().get(0) | |
#Get the specified shape to be unlocked | |
shape = worksheet.getShapes().get(r"TextBox 1") | |
#Unlock the specified shape | |
if (not worksheet.getProtection().getAllowEditingObject() and shape.isLocked()): | |
shape.setLocked(False); | |
workbook.save(r"UnLocked.xlsx", SaveFormat.XLSX); |