Je reçois une sortie de MS SQL Server dans le format '2012-08-09 00:00:00' (sans guillemets).
Cependant, lorsque je l'écris sur Excel Fichier, je ne peux pas écrire Le format de date à la date à la mise en forme de DD MMMA aaaa aaazyy sur Excel. P>
En conséquence, j'ai essayé d'écrire au format = date (2012 08,09) sous forme de formule aux cellules respectives. P>
Mais je ne veux pas que cela soit une formule, mais plutôt la valeur '09 août 2012 'avec l'intégrité de type de données intacte. Comment puis-je faire cela? Ou y a-t-il une méthode plus simple? P>
J'ai lu à travers la documentation, mais ce n'était pas clair pour moi, pensais que je demanderais des éclaircissements. P>
Cordialement. P>
Désolé de ne pas être suffisamment détaillé. P>
J'utilise la bibliothèque PHPEXCEL. P>
de mon tableau SQL, j'utilise ce qui suit: p>
$t_year = substr($xls_column_datas["colname"],0,4); $t_month = substr($xls_column_datas["colname"],5,2); $t_day = substr($xls_column_datas["colname"],8,2); $t_format = $t_year . "," . $t_month . "," . $t_day ; $t_format = '=date('.$t_format.')'; $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($data_column_num, $data_row_num, $t_format ); $objPHPExcel->getActiveSheet()->getStyleByColumnAndRow($data_column_num, $data_row_num)->getNumberFormat()->setFormatCode('[$-C09]d mmm yyyy;@');
4 Réponses :
Bien que cela ne soit pas clair, ce que vous demandez, si vous recherchez une conversion de date
// convert old date string to YYYYmmdd format $date = date('d M Y', strtotime($old_date));
Pourquoi ne pas laisser le serveur au formatage de vous? Utilisez cette requête pour formater la date
SELECT convert(varchar(15), getdate(), 106)
Votre problème est-il possible d'obtenir la date de MS SQL comme date / heure ou définition de la date Excel?
Il existe une section entière de la documentation PHPEXCEL qui explique l'utilisation du au lieu de p> essayez de régler p> phpexcel_shared_date :: phptoexcel ($ phpdate) code> et
phpexcel_shared_date :: FormattedPoXcel (mois $, $ , $ heure = 0, $ minutes = 0, $ secondes = 0) code> Méthodes d'assistance pour convertir des dates PHP vers une valeur de tampon DateTime Excel que vous définissez comme valeur de cellule, puis vous appliquez un masque de format de numéro d'un numéro des masques de date tels que
phpexcel_style_numberformat :: format_date_yyyyyyymmdd2 code> à cette cellule p>
Hmm mais cela définit le format de cellule au numéro et il semble que 43073.4250578704 dans le fichier exporté. Mais il y a aussi le format de date pour les cellules mais pas de fonction getdateFormat () dans phpexcel. Je ne comprends pas ça.
Peut-être parce que je le vois en office ouvert?
Rien à voir avec l'ouverture à OpenOffice .... phpexcel_style_numberformat :: format_date_xlsx14 code> est le format étant défini dans cet exemple de code, et ce n'est pas un format de numéro, mais un format de date
J'ai presque le même code $ list-> setcellvaluebycolumnandrow (++ $ colonne, $ ligne, \ phpexcel_shared_date :: phptoexcel ($ sondage-> tâche-> fermé) ') -> getStyle () -> getnumberformat () -> getnumberformat () -> setformatcode (\ phpexcel_style_numberformat :: format_date_ddmmyyyy); code> mais semble que j'écris avant?
Demandez à la question - une question appropriée, montrant le code approprié, et non simplement des commentaires contre une réponse à la question de quelqu'un d'autre - et je vais y regarder ..... mais peut-être que vous n'essayez pas fluent de getStyle () de SetCellvalue () .... Utilisez deux déclarations distinctes
Ok, pouvez-vous regarder ma question s'il vous plaît Stackoverflow. com / questions / 48518427 / ...
Il semble que tu as raison. L'appel fluide getStyle () ne fonctionne pas. Doit appeler -> getStylebycolumnandrow () sur l'objet de feuille Excel.
$date = PHPExcel_Style_NumberFormat::toFormattedString($data, "M/D/YYYY");
Voir ce lien peut vous aider Stackoverflow.com/questions/279917/...
Мне помог [Вервый ответ] [1] С Соседней темы [1]: Stackoverflow.com/Questtions/11119631/...