Можно ли скрыть лист Excel с помощью phpexcel?
Я создаю шаблон excel и использую 4 листа, где 3 просто используются для хранения данных из массива. Эти данные используются в списке проверки данных, поэтому я добавил защиту к 3 листам, которые я использую только для хранения данных, но я хотел бы знать, можно ли их скрыть, чтобы пользователь при загрузке шаблона не мог видеть эти листы, о существовании которых ему не нужно знать.
Возможно ли это?
1 answers
$objPHPExcel->getSheetByName('Worksheet 1')
->setSheetState(PHPExcel_Worksheet::SHEETSTATE_HIDDEN);
Или
$objPHPExcel->getSheetByName('Worksheet 1')
->setSheetState(PHPExcel_Worksheet::SHEETSTATE_VERYHIDDEN);
РЕДАКТИРОВАТЬ
Вы можете использовать формат/Лист/Скрыть Excel, чтобы скрыть весь рабочий лист. Это устанавливает для свойства visible листа значение xlSheetHidden. Но если вы не защитите структуру рабочей книги паролем, любой может выбрать Формат/Лист/Отобразить, чтобы увидеть скрытый лист.
Если вы используете Excel 97 или более поздней версии, то вы можете "очень скрыть" лист:
- Нажмите Alt-F11, чтобы отобразить редактор Visual Basic
- в окне проекта, дважды щелкните объекты Microsoft Excel и выберите лист, который нужно скрыть.
- Нажмите клавишу F4, чтобы отобразить поле свойств
- Установите для свойства Visible листа значение xlSheetVeryHidden.
Теперь лист больше не доступен через Формат/Лист/Показать
Это то, что PHPExcel делает гораздо проще, когда вы устанавливаете состояние листа в значение VERYHIDDEN