是否可以使用phpexcel隐藏excel表?

时间:2012-08-21 15:47:14

标签: php phpexcel

我正在生成一个excel模板,而我正在使用4张,其中3张仅用于存储数组中的数据。这些数据正在数据验证列表中使用,因此我将保护添加到仅用于存储数据的3张纸上,但我想知道是否可以隐藏它们,以便用户在下载模板时,将无法看到他不需要知道存在的这些表格。

有可能吗?

1 个答案:

答案 0 :(得分:10)

$objPHPExcel->getSheetByName('Worksheet 1')
    ->setSheetState(PHPExcel_Worksheet::SHEETSTATE_HIDDEN);

$objPHPExcel->getSheetByName('Worksheet 1')
    ->setSheetState(PHPExcel_Worksheet::SHEETSTATE_VERYHIDDEN);

修改

您可以使用Excel的格式/工作表/隐藏来隐藏整个工作表。这会将工作表的可见属性设置为xlSheetHidden。但除非您使用密码保护工作簿结构,否则任何人都可以选择“格式化/工作表/取消隐藏”以查看隐藏的工作表。

如果您使用Excel 97或更高版本,那么您可以“非常隐藏”工作表:

  • 按Alt-F11以显示Visual Basic编辑器
  • 在项目窗口中
  • ,双击Microsoft Excel对象并选择要隐藏的工作表。
  • 按F4显示“属性”框
  • 将工作表的Visible属性设置为xlSheetVeryHidden。

现在无法再通过Format / Sheet / Unhide

访问工作表

当您将SheetState设置为VERYHIDDEN

时,这就是PHPExcel更简单的功能