PHPを使用して、電話番号のリストを含むファイルを作成しようとしています。ただし、電話番号がゼロで始まる場合、数字はExcelファイルから削除されます。
フォーマットを適切に設定する方法を知っている人はいますか?
どちらか:
// Set the value explicitly as a string
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', '0029', PHPExcel_Cell_DataType::TYPE_STRING);
または
// Set the value as a number formatted with leading zeroes
$objPHPExcel->getActiveSheet()->setCellValue('A3', 29);
$objPHPExcel->getActiveSheet()->getStyle('A3')->getNumberFormat()->setFormatCode('0000');
タイプを明示的に文字列に設定します。
$type = PHPExcel_Cell_DataType::TYPE_STRING;
$sheet->getCellByColumnAndRow($column, $rowno)->setValueExplicit($value, $type);
これは古い質問ですが、私は最近この問題に苦労しており、ここにいくつかの追加情報を投稿すると将来的に誰かを助けるかもしれないと思いました:
上記の答えは正しいものの、フォーマットされたセルの前にある列または行を削除すると、フォーマットは失われます。
抵抗しそうな解決策は次のとおりです。
$cellRichText = new \PHPExcel_RichText($worksheet->getCell($cell));
$cellRichText->createText($cellValue);
何らかの理由で上記の回答が機能しない場合、次のようにデータを引用符で囲むだけで済みます。
setCellValue('A1, '"' . $phone . '" ')
ただし、ファイル内の値も引用符で囲まれます。
使用する \t
のような値を持つ"$phone\t"