在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'
替换为您选择的密码,以保护您的工作表。