我正在生成一个 excel 模板,我正在使用 4 张工作表,其中 3 张只是用于存储数组中的数据。这些数据正在数据验证列表中使用,因此我为仅用于存储数据的 3 张工作表添加了保护,但我想知道是否可以隐藏它们,以便用户在下载模板时,将无法看到这些他不需要知道存在的床单。
可能吗?
$objPHPExcel->getSheetByName('Worksheet 1')
->setSheetState(PHPExcel_Worksheet::SHEETSTATE_HIDDEN);
或者
$objPHPExcel->getSheetByName('Worksheet 1')
->setSheetState(PHPExcel_Worksheet::SHEETSTATE_VERYHIDDEN);
编辑
您可以使用 Excel 的格式/工作表/隐藏来隐藏整个工作表。这会将工作表的可见属性设置为 xlSheetHidden。但除非您使用密码保护工作簿结构,否则任何人都可以选择格式/工作表/取消隐藏来查看隐藏的工作表。
如果您使用 Excel 97 或更高版本,则可以“非常隐藏”工作表:
现在该工作表不再可以通过“格式/工作表/取消隐藏”访问
当您将 SheetState 设置为 VERYHIDDEN 时,这就是 PHPExcel 所做的更简单的事情