diff options
Diffstat (limited to 'excelize.go')
-rw-r--r-- | excelize.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/excelize.go b/excelize.go index d78d2b1..0e2f440 100644 --- a/excelize.go +++ b/excelize.go @@ -158,13 +158,15 @@ func OpenReader(r io.Reader, opt ...Options) (*File, error) { return nil, ErrOptionsUnzipSizeLimit } if bytes.Contains(b, oleIdentifier) { - b, err = Decrypt(b, f.options) - if err != nil { - return nil, fmt.Errorf("decrypted file failed") + if b, err = Decrypt(b, f.options); err != nil { + return nil, ErrWorkbookFileFormat } } zr, err := zip.NewReader(bytes.NewReader(b), int64(len(b))) if err != nil { + if len(f.options.Password) > 0 { + return nil, ErrWorkbookPassword + } return nil, err } file, sheetCount, err := f.ReadZipReader(zr) |