現在、PHPexcel を使用して基本的に Excel シートからすべてのデータを取得し、新しい Excel シートを作成してテキストにフォーマットし、古い Excel シートからすべてのデータを転送するプログラムを作成しています。
私のphpは、古いExcelシートから値を取り込んで、特に日付/数値などを正しく解析できる必要があります。
日付以外はすべて正常に機能しています。何らかの理由で、セルのフォーマットされた値を取得すると; 最初のシートの日付形式と一致しません。具体的には、次のような値: 12/31/2099 。何らかの理由で、フォーマットコードが mm-dd-yy と誤って読み取られ、12-31-99 が出力されます。これは非常に苛立たしく、私は答えを求めてインターネットの半分を探しました. 助けてください; 何が問題なのかわからない!コード:
<?php
$spreadSheet=$_FILES["filebrowser"]["tmp_name"];
/** PHPExcel_IOFactory */
require_once 'Classes/PHPExcel/IOFactory.php';
require_once 'Classes/PHPExcel/Shared/Date.php';
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
//Create temporary sheet from uploaded file data
$objPHPExcel = $objReader->load($spreadSheet);
$sheet = $objPHPExcel->getActiveSheet();
$sheet->setTitle("Original Data");
$data=$sheet->getCell("D9")->getFormattedValue();
var_dump($data);
exit;?>
D9 は DATE 形式のセルで、値は 12/31/2099 です。このコードは 12-31-99... を出力します。