phpphpspreadsheetphpoffice-phpspreadsheet

Hide Columns with PhpSpreadsheet


I am trying to hide some specific columns on a local Excel Sheet, but it does not hide, the code I am using is:

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($filePath);
$spreadsheet->getActiveSheet()->getColumnDimension('A')->setVisible(false);
$spreadsheet->getActiveSheet()->getColumnDimension('B')->setVisible(false);
$spreadsheet->getActiveSheet()->getColumnDimension('C')->setVisible(false);

$writer = new Xlsx($spreadsheet);
$writer->save($filePath);

Why it does not hide the columns I selected? And what can I do to solve that?


Solution

  • use both in combination to hide for example column 'A'

    $spreadsheet->getActiveSheet()->getColumnDimension('A')->setCollapsed(true);
    $spreadsheet->getActiveSheet()->getColumnDimension('A')->setVisible(false);