PhpSpreadsheet(PHPExcel)で頭ゼロが消える問題の解消方法

  • 2020.02.20
  • PHP
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)