PHP_XLSXWriter icon indicating copy to clipboard operation
PHP_XLSXWriter copied to clipboard

Allow column types to be overridden when writing sheet rows

Open abrynczka opened this issue 2 years ago • 1 comments

This PR adds a new writeSheetRowWithColTypes method used to set or override column types while writing row data.

The original column types defined by writeSheetHeader are retained so that the process can revert back to them after writing the current row's data, allowing the header versions to serve as default definitions for the columns.

Additionally, users can limit the column type override to target specific columns rather than the entire row:

$writer->writeSheetHeader($sheet, ['col1' => 'string', 'col2' => 'integer']);
$writer->writeSheetRow($sheet, ['val1', 1]);

$writer-> writeSheetRowWithColTypes($sheet, ['val2', 'n/a'], [], ['string', 'string']); // override the entire row
$writer-> writeSheetRowWithColTypes($sheet, ['val3', '?'], [], [1 => 'string']); // override col 2 only

abrynczka avatar Sep 07 '22 15:09 abrynczka

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

sayid avatar Sep 07 '22 15:09 sayid

You can do this now... maybe its good enough as is on master...

$writer->writeSheetHeader('Sheet1', $header1);
$writer->writeSheetRow('Sheet1', $row1 );
$writer->writeSheetHeader('Sheet1', $header2);
$writer->writeSheetRow('Sheet1', $row2);

mk-j avatar May 31 '23 22:05 mk-j