Можно ли скрыть лист Excel с помощью phpexcel?
я генерирую шаблон excel, и я использую 4 листа, где 3 просто используются для хранения данных из массива. Эти данные используются в списке проверки данных, поэтому я добавил защиту к 3 листам, которые я использую только для хранения данных, но я хотел бы знать, можно ли их скрыть, чтобы пользователь при загрузке шаблона не мог видеть эти листы, ему не нужно знать, что они существуют.
возможно ли это?
1 ответов
$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.
теперь лист больше не доступен через Format/Sheet / Unhide
это то, что PHPExcel делает гораздо проще, когда вы устанавливаете SheetState в VERYHIDDEN