mk-j / PHP_XLSXWriter

Lightweight XLSX Excel Spreadsheet Writer in PHP
MIT License
1.84k stars 665 forks source link

Set cell width only for some cells #354

Open bt-nn opened 10 months ago

bt-nn commented 10 months ago

I found $writer->writeSheetHeader('Sheet1', $header, $col_options = ['widths'=>[10,20,30,40]] ); which worked as expected but when i try $writer->writeSheetHeader('Sheet1', $header, $col_options = ['widths'=>[null,null,null,40]] ); only the last col is displayed. Adding a if would be a fix for that

    protected function initializeSheet(...) {
        ...
        if (!empty($col_widths)) {
            foreach($col_widths as $column_width) {
                if($column_width) { // <-- NEW LINE
                    $sheet->file_writer->write('<col collapsed="false" hidden="false" max="'.($i + 1).'" min="'.($i + 1).'" style="0" customWidth="true" width="'.floatval($column_width).'"/>');
                } // <-- NEW LINE
                        $i++;
            }
        }
sayid commented 10 months ago

您好,我已经收到您的信件,将尽快回复您。

maksimovic commented 10 months ago

@bt-nn I've ported your changes to https://github.com/maksimovic/PHP_XLSXWriter/releases/tag/1.0.3