値を書き込む前にセルの種類を設定する方法を知っていますか? 「一般」、「テキスト」、「数値」などのタイプを設定できるようにしたいと考えています。
ありがとうございました。
テキストが先行ゼロの数値の場合は、次のようにします: (Cuando el texto es un número que empieza por ceros, hacer)
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', $val,PHPExcel_Cell_DataType::TYPE_STRING);
値を書き込んだ後にタイプ (数値書式マスク) を設定するのと同じ方法:
$objPHPExcel->getActiveSheet()
->getStyle('A1')
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_GENERAL
);
また
$objPHPExcel->getActiveSheet()
->getStyle('A1')
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_TEXT
);
ただし、「数値」は有効な書式マスクではありません。
Classes/PHPExcel/Style/NumberFormat.php で定義済みの書式マスクのリストを見つけるか、有効な Excel 数値書式マスキング文字列に値を設定できます。
これを試して
$currencyFormat = '_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)';
$textFormat='@';//'General','0.00','@'
$excel->getActiveSheet()->getStyle('B1')->getNumberFormat()->setFormatCode($currencyFormat);
$excel->getActiveSheet()->getStyle('C1')->getNumberFormat()->setFormatCode($textFormat);`
マークのアドバイスに従い、これを実行して、ワークブック全体のデフォルトの数値書式をテキストに設定しました。
$objPHPExcel = new PHPExcel();
$objPHPExcel->getDefaultStyle()
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_TEXT
);
そして、それは完璧に機能します。ありがとう、マーク・ベイカー。