У меня есть таблица, выведенная из PHPExcel, и все отображается отлично.
Я защитил лист следующим образом:
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);
, который отлично работает.
На листе у меня есть таблица, в которой некоторые столбцы будут редактируемыми (таблица находится в ячейках A28: H50 - ячейки E29: H50 будут редактируемыми - то есть 4 столбца, все строки, кроме заголовка).
Чтобы снять защиту этих ячеек, я использую следующее:
$objPHPExcel->getActiveSheet()->getStyle('E29:H50')->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
И это работает.
На данный момент все так, как я ожидаю.
Я также положил Автофильтр на стол:
$objPHPExcel->getActiveSheet()->setAutoFilter('A28:H50');
Теперь у меня проблема. Фильтр работает, а сортировка - нет. Я попытался использовать стандартную сортировку Excel и щелкнуть стрелку раскрывающегося списка на полях фильтра.
Excel не позволяет мне сортировать данные, поскольку ячейки защищены.
Вопрос:
Можно ли как-нибудь разрешить это?
- Это позволит мне отсортировать, если я сниму защиту всей таблицы (у меня даже есть
снимите защиту строки заголовка, чтобы он работал).
- Я посмотрел на компонент setSort в getProtection, но
в этой ситуации не работает ни истина, ни ложь.
- Если это невозможно, это будет хорошо, я должен буду найти
альтернатива .. Я просто хотел бы знать ответ.