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