2016-06-22 6 views
0

私のウェブページでは、PHPexcel 1.8を使用してExcelファイルを生成しています。今私は、以下で説明する問題に直面しています。PHPExcelのdd/mm/yyyy形式でセルに一重引用符( ')を追加する

日付の値はdd/mm/yyyyです。価値が来ている。しかし、それは最初にsingle quote(')と表示されます。

私は多くの解決策を試しました。しかし、誰も私を助けません。

私のサンプルコード部分が$aVal, $bVal,..は、ループ内で宣言し$evaldd/mm/yyyy形式で日付を含む

$cnt = 1; 
foreach($gluuidArr as $uuid){ 
    $this -> excel_180->getActiveSheet() ->setCellValue('A'.$cnt,$aVal); 
    $this -> excel_180->getActiveSheet() ->setCellValue('B'.$cnt,$bVal); 
    $this -> excel_180 -> getActiveSheet() -> setCellValue('C'.$cnt, $cVal); 
    $this -> excel_180->getActiveSheet() ->setCellValueExplicit('D'.$cnt,$dVal, PHPExcel_Cell_DataType::TYPE_STRING); 
    $this -> excel_180 -> getActiveSheet() -> setCellValue('E'.$cnt, $eVal); 

    $cnt += 1; 
} 

以下の通りであるはをクリックしたときに日付が、20/05/2016であると仮定セルを凌駕する、それはのように表示されます'20/05/2016

私は試しました

$this -> excel_180->getActiveSheet()->getStyle('E'.$cnt)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY); 

運がありません。

この問題を解決するのを手伝ってください。どんな助けでも感謝します。

+0

変更日付形式で... Excelシートが正しく日付を表示可能性があるため、そのことについていくつかのR&Dを行うが、それは形式は適切ではないかもしれないのですされ – Kunal

答えて

2

これは、日付を格納していないためです。人間に日付を表​​すストリングを格納しているからです。 MS Excelは日付を文字列として保存せず、浮動小数点として1900年1月1日(またはMac版の1904年1月1日)からの日数を表します。

PHPExcelに日付/時刻の値を保存する場合は、その日付/時刻をMS Excelのタイムスタンプ値に変換し、セルの表示方法を示す書式マスクを設定する必要があります。

これは、すべてのPHPExcel Documentationで説明し、実証し、ExcelでExamples

関連する問題