Bonjour,
dans une WebApp j'utilise Spreadsheet pour générer un fichier Excel XLSX intégrant les résultats de requêtes MySQL. Tout fonctionne bien mais je n'arrive pas à formater une colonne Date... Dans Excel toutes les cellules de ma colonne B commencent par ' (exemple : '2019-10-29) J'ai essayé différentes choses avec NumberFormat sans succès.
La cellule B1 ne change pas des autres...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 try { $req = $bdd->query($sql); $aResultats = $req->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { die('Erreur : '.$e->getMessage()); } $filename_xlsx = "export_".date('Y-m-d_H-i-s').".xlsx"; require 'vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $objSpreadsheet = new Spreadsheet(); $objSpreadsheet->setActiveSheetIndex(0); $objSheet = $objSpreadsheet->getActiveSheet(); $objSheet->fromArray($aResultats, NULL, 'A1'); date_default_timezone_set('Europe/Paris'); $objSheet->getStyle('B1') ->getNumberFormat() //->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_YYYYMMDDSLASH); //->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_YYYYMMDD); ->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_DATETIME); $objWriter = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($objSpreadsheet, 'Xlsx'); $objWriter->save($filename_xlsx);
Merci pour votre aide !
Partager