在PHP中使用PHPExcel(現在稱為PhpSpreadsheet)庫,您可以輕松地保護工作表免受編輯。以下是如何使用PhpSpreadsheet保護特定工作表的示例代碼:
首先,確保已安裝PhpSpreadsheet庫。如果尚未安裝,可以使用Composer進行安裝:
composer require phpoffice/phpspreadsheet
接下來,創建一個PHP腳本并添加以下代碼:
<?php
// 導入PhpSpreadsheet類
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
use PhpOffice\PhpSpreadsheet\Protection\SheetProtection;
// 創建一個新的電子表格對象
$spreadsheet = new Spreadsheet();
// 獲取當前活動的工作表
$sheet = $spreadsheet->getActiveSheet();
// 設置工作表標題
$sheet->setTitle('Protected Sheet');
//保護工作表
$sheetProtection = new SheetProtection();
$sheetProtection->setPassword('your_password'); // 設置保護密碼
$sheetProtection->setSheet(true); // 允許編輯工作表
$sheetProtection->setObjects(true); // 允許編輯單元格中的對象(如圖像)
$sheetProtection->setScenarios(true); // 允許編輯公式
$sheet->protectSheets($sheetProtection);
// 保存電子表格
$writer = new Xlsx($spreadsheet);
$fileName = 'protected_sheet.xlsx';
$writer->save($fileName);
echo "工作表已保護,文件已保存為:" . $fileName;
?>
在此示例中,我們首先導入所需的類,然后創建一個新的電子表格對象并獲取當前活動的工作表。接著,我們設置工作表標題,并使用SheetProtection
類保護工作表。我們設置了保護密碼,并允許編輯工作表、單元格對象和公式。最后,我們將電子表格保存為XLSX文件。
請確保將'your_password'
替換為您選擇的密碼,以保護您的工作表。