是否有使用 Maatwebsite/Laravel-Excel 锁定列不被修改的功能?
Is there a function to lock column from being modified using Maatwebsite/Laravel-Excel?
我想锁定某列以防止用户编辑该列的数据。 Maatwebsite/Laravel-Excel是否提供此功能?
我试过的,
$sheet->setFreeze('A2');
但是,它不起作用。是我的方法错了吗?
我使用了 setFreeze()
方法,但它对我的情况也不起作用。
我以不同的方式思考这个问题,这里是方式,
- 保护整个sheet。
- 现在取消对需要可写权限的区域的保护。即 除了 A
这是代码。
$sheet->loadView('template');
$sheet->getProtection()->setPassword('password');
$sheet->getProtection()->setSheet(true);
现在取消对区域的保护,
$sheet->getStyle('B1:D100')->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
A 列已经受到保护,因为整个 sheet 都受到保护,因此从 B 列到最后一列取消保护。
在这种情况下,从B1到D100的矩形区域将是可编辑的。您可以根据您的要求进行定制。
希望你明白。
洞Sheet保护
$sheet->loadView('template');
$sheet->getProtection()->setPassword('password');
$sheet->getProtection()->setSheet(true);
移除工作区保护
$sheet->getStyle('B4:F100')->getProtection()->setLocked(\PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
我想锁定某列以防止用户编辑该列的数据。 Maatwebsite/Laravel-Excel是否提供此功能?
我试过的,
$sheet->setFreeze('A2');
但是,它不起作用。是我的方法错了吗?
我使用了 setFreeze()
方法,但它对我的情况也不起作用。
我以不同的方式思考这个问题,这里是方式,
- 保护整个sheet。
- 现在取消对需要可写权限的区域的保护。即 除了 A
这是代码。
$sheet->loadView('template');
$sheet->getProtection()->setPassword('password');
$sheet->getProtection()->setSheet(true);
现在取消对区域的保护,
$sheet->getStyle('B1:D100')->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
A 列已经受到保护,因为整个 sheet 都受到保护,因此从 B 列到最后一列取消保护。
在这种情况下,从B1到D100的矩形区域将是可编辑的。您可以根据您的要求进行定制。
希望你明白。
洞Sheet保护
$sheet->loadView('template');
$sheet->getProtection()->setPassword('password');
$sheet->getProtection()->setSheet(true);
移除工作区保护
$sheet->getStyle('B4:F100')->getProtection()->setLocked(\PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);