require_once 'PHPExcel.php';
require_once 'PHPExcel/IOFactory.php';
//Values
$path = getcwd();
$latest_ctime = 0;
$latest_filename = '';
$d = dir($path);
while (false !== ($entry = $d->read())) {
$filepath = "{$path}/{$entry}";
// could do also other checks than just checking whether the entry is a file
if (is_file($filepath) && filectime($filepath) > $latest_ctime) {
$latest_ctime = filectime($filepath);
$latest_filename = $entry;
}}
//Reading Excel File
$objPHPExcel = PHPExcel_IOFactory::load($latest_filename);
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet){
$worksheetTitle = $worksheet->getTitle();
$highestRow = $worksheet->getHighestRow(); // e.g. 10 For all rows
$highestColumn = $worksheet->getHighestColumn(); // e.g 'F'
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
}
//Calculationg Columns
$nrColumns = ord($highestColumn) - 64;
//Displaying Sheet Details
echo "File name: " . $path;
echo '<br>';
echo "Sheet name: " . $worksheetTitle;
echo '<br>';
echo "No. of Columns: " . $nrColumns;
echo '<br>';
echo "No. of Rows: " . $highestRow;
echo '<br><br>';
$i=1;
$j=0;
for ($row = 2; $row <= $highestRow; ++ $row) {
$val=array();
for ($col = 0; $col < $highestColumnIndex; ++ $col) {
$cell = $worksheet->getCellByColumnAndRow($col, $row);
$val[] = $cell->getValue();
}
$var=$val[2]; //the date value is in the 3rd column
echo date('d/m/Y H:i:s', PHPExcel_Shared_Date::ExcelToPHP($var));
echo "<br>";
私が直面している問題は、Excel ファイルから読み取った int 時刻値を mysql 日時形式に変換して DB に挿入することです。 19-09-2015 02:00:00 に変換されます。これは Excel データの値よりも 2 時間多く、これはすべての日付値で発生しており、2 時間余分に追加されているようです。正しい値。