01、01A、01B、02、2などの数値を格納できる配列があり、PHPExcelを使用してこの値を取得すると、たとえば01、02の場合は「0」が削除されます。この問題を解決するために、次のコードのように、これらの値がExcelに格納される行をフォーマットし、テキストタイプとして設定しようとしました。
$objPHPExcel->setActiveSheetIndexByName('BlocksList');
$objPHPExcel->getActiveSheet()->fromArray($blockNames, null, 'A2');
$latestBLColumn = $objPHPExcel->getActiveSheet()->getHighestDataColumn();
$column = 'A';
$row = 1;
for ($column = 'A'; $column != $latestBLColumn; $column++) {
$objPHPExcel->getActiveSheet()->getStyle($column.$row)->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_TEXT );
}
$objPHPExcel->getActiveSheet()->fromArray($blockNames, null, 'A1');
したがって、これを行うことで、01、01A、02、02B ...のような番号の配列を取得し、それを行A2に格納します。Forの条件でこの値を使用するための最も高い列を取得します。この状態で、行1をAから最上位の列までの範囲で、テキストとしてフォーマットするように設定しました。
テンプレートが生成され、すべての数値がテキスト形式になっていますが、問題は、 " fromArray()
"メソッドを使用すると、Excelで正しく取得する前に配列の数値が変換されると思うことです。この問題をどのように解決できるか考えていますか?