Protected View Excel File

tuhocvba

Administrator
Thành viên BQT
File excel có chứa công thức, upload lên sever (web), sau đó người khác download về thì bị protected view, phần chứa công thức không thể hiển thị được giá trị.
Đối với thao tác bằng tay, nó tương đương với việc tôi cần gỡ bỏ các dấu tích sau: (3 dấu tích Enable cần gỡ bỏ)
Bạn cần đăng nhập để thấy đính kèm


Nếu một file bị protected view làm input cho python (openpyxl), thì phần chứa dữ liệu đều không thể đọc được.
Tôi cần một giải pháp để vượt qua Protected View nếu file bị khóa không hiển thị được giá trị của công thức, nhất là những file down từ trên mạng về.,
Ai biết xin chỉ giúp.

Ví dụ các bạn download file dưới đây về:
Xin lưu ý, khi các bạn mở file sẽ hiện:
Bạn cần đăng nhập để thấy đính kèm

Các bạn không được ấn vào Enable Editing nhé.
 

lyly

Nghiện THVBA
code thay đổi 3 giá trị tới 1 để tắt !
 

tuhocvba

Administrator
Thành viên BQT
Cách này dường như lyly đang can thiệp vào sâu trong máy tính (máy có cài office).
Tuy nhiên nếu máy tính không cài office. Một chương trình python (openpyxl) đọc file này và có tình trạng không đọc được công thức.
Mình nghĩ bên trong cấu trúc file có chứa thông tin nào đó liên quan tới việc file bị protect view hay không.
Bằng chứng là file excel nếu cho phép đọc chỉnh sửa nội dung trên máy window, chuyển file này sang MAC (ko cài excel) thì python trên MAC xử lý bình thường.
Còn nếu file đang bị protect view, chuyển file này sang MAC, không đọc được phần chứa công thức.
Mình nghĩ nếu can thiệp sâu vào trong cấu trúc file thì tốt hơn. Ít nhất mình muốn biết khi nào file đang bị protect view.
 

lyly

Nghiện THVBA
Vậy phải xem cấu trúc file protect view trước và sau cấp phép có gì khác nhau !
 

lyly

Nghiện THVBA
trust location là 1 cách , để tìm thêm!
 
Sửa lần cuối:

lyly

Nghiện THVBA
Mình thắc mắc là máy không cài excel thì đọc file bằng cách gì ?
 

tuhocvba

Administrator
Thành viên BQT
Mình thắc mắc là máy không cài excel thì đọc file bằng cách gì ?
Thư viện openpyxl của Python.

Dùng thư viện này đọc một file excel (chứa công thức), ghi data xử lý vào file này rồi lưu lại dưới dạng file mới là abc.xlsx
Lại dùng thư viện openpyxl lại một lần nữa đọc abc.xlsx, dù để chế độ
Mã:
wb = load_workbook(excel_file, keep_links=True, data_only=True)
thì cũng không đọc được Excel vùng chứa công thức.

Tuy nhiên giả sử máy tính cài excel (window), mở file abc.xlsx, không làm gì, lưu lại. Mình nghĩ phần data chứa công thức được lưu đâu đó ở trong cấu trúc bên trong file excel. Dẫn tới là bây giờ có thể đọc dữ liệu của file abc.xlsx.
 

lyly

Nghiện THVBA
Giải nén file nó nằm trong worksheet\sheet1
Bạn cần đăng nhập để thấy hình ảnh
 
Sửa lần cuối:
Top