J'essaie d'utiliser PHP pour créer un fichier contenant une liste de numéros de téléphone. Cela fonctionne bien mais si le numéro de téléphone commence par zéro, le chiffre est supprimé du fichier Excel.
Quelqu'un sait-il comment régler correctement la mise en forme pour qu'elle reste en place?
Soit:
// Set the value explicitly as a string
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', '0029', PHPExcel_Cell_DataType::TYPE_STRING);
ou
// Set the value as a number formatted with leading zeroes
$objPHPExcel->getActiveSheet()->setCellValue('A3', 29);
$objPHPExcel->getActiveSheet()->getStyle('A3')->getNumberFormat()->setFormatCode('0000');
Définissez le type sur chaîne explicitement:
$type = PHPExcel_Cell_DataType::TYPE_STRING;
$sheet->getCellByColumnAndRow($column, $rowno)->setValueExplicit($value, $type);
C'est une vieille question, mais j'ai récemment eu des problèmes avec ce problème et j'ai pensé que cela pourrait aider quelqu'un à l'avenir si je poste des informations supplémentaires ici:
Bien que les réponses ci-dessus soient correctes, la mise en forme est perdue lorsque vous supprimez une colonne ou une ligne située avant la cellule formatée.
La solution qui semble y résister est:
$cellRichText = new \PHPExcel_RichText($worksheet->getCell($cell));
$cellRichText->createText($cellValue);
Si pour une raison quelconque les réponses ci-dessus ne fonctionnent pas, vous pouvez simplement essayer de mettre vos données entre guillemets, quelque chose comme ceci:
setCellValue('A1, '"' . $phone . '" ')
Mais votre valeur sera également entourée de guillemets dans votre fichier.
Utilisation \t
avec la valeur comme "$phone\t"