Bảo vệ và Bỏ bảo vệ Tệp Excel

Microsoft Excel là phần mềm quản lý dữ liệu phổ biến trong các tổ chức. Nó chủ yếu là do các tính năng đại diện và thao tác dữ liệu tiên tiến của nó. Trong thời đại công nghệ này, các tài liệu được chia sẻ hầu như thay vì các bản in. Những tệp này có thể chứa dữ liệu phức tạp và nhạy cảm. Vì vậy, để duy trì tính toàn vẹn của các tệp như vậy, bạn có thể cần phải bảo vệ chúng khỏi bị sửa đổi. Các tính năng bảo vệ của Excel rất hữu ích cho mục đích này. Trong bài viết này, bạn sẽ học cách bảo vệ và bỏ bảo vệ các tệp Excel theo cách lập trình bằng C ++.

API C ++ để bảo vệ và bỏ bảo vệ tệp Excel - Tải xuống miễn phí

Aspose.Cells for C ++ là thư viện C ++ gốc cho phép bạn thao tác với các tệp Excel mà không yêu cầu cài đặt Microsoft Excel. Do đó, nó được sử dụng để tự động hóa nhiều quy trình làm việc của Excel. API cung cấp một loạt các tính năng hữu ích, bao gồm bảo vệ và bỏ bảo vệ các tệp Excel. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.

PM> Install-Package Aspose.Cells.Cpp

Bảo vệ tệp Excel bằng C ++

Aspose.Cells cho C ++ cung cấp các kiểu bảo vệ sau để bảo vệ tệp Excel.

  • Tất cả: Bảo vệ toàn bộ dữ liệu để người dùng không thể sửa đổi bất cứ điều gì.
  • Nội dung: Bảo vệ nội dung của trang tính.
  • Đối tượng: Bảo vệ các đối tượng trong trang tính để người dùng không thể sửa đổi các đối tượng vẽ.
  • Kịch bản: Bảo vệ các tình huống trong trang tính.
  • Cấu trúc: Bảo vệ cấu trúc của sổ làm việc.
  • Windows: Bảo vệ các cửa sổ đã lưu khỏi bị sửa đổi.
  • Không: Không áp dụng biện pháp bảo vệ nào.

Sau đây là các bước để bảo vệ tệp Excel bằng C ++.

Mẫu mã sau đây cho thấy cách bảo vệ tệp Excel bằng C ++.

// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\");

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Tải tệp Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));

// Bảo vệ sổ làm việc bằng cách chỉ định loại bảo vệ
workbook->Protect(ProtectionType::ProtectionType_All, new String("12345"));

// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protected_out.xlsx")));

Bỏ bảo vệ Sổ làm việc Excel bằng C ++

Sau đây là các bước để bỏ bảo vệ tệp Excel.

Mẫu mã sau đây cho thấy cách bỏ bảo vệ tệp Excel.

// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\");

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Tải tệp Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtected.xlsx")));

// Bỏ bảo vệ sổ làm việc
workbook->Unprotect(new String("12345"));

// Đặt mật khẩu thành null
workbook->GetISettings()->SetPassword(NULL);

// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotected_out.xlsx")));

Bảo vệ Trang tính Excel bằng C ++

Ngoài việc bảo vệ các tệp Excel, bạn cũng có thể bảo vệ các trang tính riêng lẻ. Vui lòng sử dụng các bước sau để bảo vệ trang tính Excel.

Mẫu mã sau đây cho thấy cách bảo vệ trang tính Excel.

// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\");

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Tải tệp Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));

// Truy cập trang tính đầu tiên trong tệp Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Truy cập tính năng bảo vệ của trang tính
intrusive_ptr<IProtection> protection = worksheet->GetIProtection();

// 3 phương pháp sau chỉ dành cho các định dạng Excel 2000 trở về trước
protection->SetAllowEditingContent(false);
protection->SetAllowEditingObject(false);
protection->SetAllowEditingScenario(false);

// Bảo vệ trang tính đầu tiên bằng mật khẩu "12345"
protection->SetPassword(new String("12345"));

// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protectedWorksheet_out.xlsx")));

Bỏ bảo vệ Trang tính Excel bằng C ++

Sau đây là các bước để bỏ bảo vệ trang tính Excel.

Mẫu mã sau đây cho thấy cách bỏ bảo vệ trang tính Excel bằng C ++.

// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\");

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Tải tệp Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtectedWorksheet.xlsx")));

// Truy cập trang tính đầu tiên trong tệp Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Bỏ bảo vệ trang tính
worksheet->Unprotect(new String("12345"));

// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotectedWorksheet_out.xlsx")));

Nhận giấy phép miễn phí

Bạn có thể dùng thử API mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách bảo vệ và bỏ bảo vệ tệp Excel bằng C ++. Ngoài ra, bạn cũng đã học được cách bảo vệ trang tính khỏi các sửa đổi. Aspose.Cells for C ++ là một API thao tác Excel rộng lớn để tự động hóa các tác vụ như thay thế văn bản trong ô hoặc xử lý dữ liệu phức tạp được biểu diễn dưới dạng đồ thị và biểu đồ. Bạn có thể khám phá API chi tiết bằng cách sử dụng tài liệu chính thức.

Xem thêm