summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorq523591 <523591643@qq.com>2018-11-04 23:14:43 +0800
committerq523591 <523591643@qq.com>2018-11-04 23:14:43 +0800
commit51857a217d6eec867d70f948104177e728c19bf5 (patch)
tree35be12e2af1a238a7dc6b8210603ae67541a622d
parent4dbc78ce0a0d40be189b4c77207cdbb598846c73 (diff)
New function `UnprotectSheet()` has been added
-rw-r--r--[-rwxr-xr-x]excelize_test.go14
-rw-r--r--sheet.go8
2 files changed, 20 insertions, 2 deletions
diff --git a/excelize_test.go b/excelize_test.go
index f7a70d9..3860e17 100755..100644
--- a/excelize_test.go
+++ b/excelize_test.go
@@ -128,7 +128,7 @@ func TestOpenFile(t *testing.T) {
}
err = xlsx.Save()
if err != nil {
- t.Log(err)
+ t.Error(err)
}
// Test write file to not exist directory.
err = xlsx.SaveAs("")
@@ -1221,6 +1221,18 @@ func TestProtectSheet(t *testing.T) {
}
}
+func TestUnprotectSheet(t *testing.T) {
+ xlsx, err := OpenFile("./test/Book1.xlsx")
+ if err != nil {
+ t.Error(err)
+ }
+ xlsx.UnprotectSheet("Sheet1")
+ err = xlsx.Save()
+ if err != nil {
+ t.Error(err)
+ }
+}
+
func trimSliceSpace(s []string) []string {
for {
if len(s) > 0 && s[len(s)-1] == "" {
diff --git a/sheet.go b/sheet.go
index 8ddb8c9..9861d20 100644
--- a/sheet.go
+++ b/sheet.go
@@ -713,7 +713,7 @@ func (f *File) SearchSheet(sheet, value string) []string {
// ProtectSheet provides a function to prevent other users from accidentally
// or deliberately changing, moving, or deleting data in a worksheet. For
-// example protect Sheet1 with protection settings:
+// example, protect Sheet1 with protection settings:
//
// xlsx.ProtectSheet("Sheet1", &excelize.FormatSheetProtection{
// Password: "password",
@@ -752,6 +752,12 @@ func (f *File) ProtectSheet(sheet string, settings *FormatSheetProtection) {
}
}
+// UnprotectSheet provides a function to unprotect an Excel worksheet.
+func (f *File) UnprotectSheet(sheet string) {
+ xlsx := f.workSheetReader(sheet)
+ xlsx.SheetProtection = nil
+}
+
// trimSheetName provides a function to trim invaild characters by given worksheet
// name.
func trimSheetName(name string) string {