PhpSpreadsheet(PHPExcel)で頭ゼロが消える問題の解消方法
PHPExcelを使って頭がゼロ(0)の数字を出力した時にExcelで頭ゼロ(0)が消えてしまう問題が発生したので対応をしました。
とても単純な事ですが、ただ、セルの形式を文字列型にするだけです。
また、アンパサント(&)などの文字列も「&」に変換されてしまう件も解消することができます。
対応方法
<セルの形式を文字列型に変更する>
●変更前
$activeSheet->setCellValue('A1', '01234');
●変更後
$activeSheet->setCellValueExplicit('A1', '01234', PHPExcel_Cell_DataType::TYPE_STRING);
他の形式も調べてみました
PHPExcel_Cell_DataType::TYPE_STRING 文字列
PHPExcel_Cell_DataType::TYPE_FORMULA 式
PHPExcel_Cell_DataType::TYPE_NUMERIC 数値
PHPExcel_Cell_DataType::TYPE_BOOL ブール(0=false、1=true)