PHPExcel: Как читать временные ячейки с миллисекундами, как они отображаются в Excel - PullRequest
0 голосов
/ 27 июня 2018

Итак, моя спортивная команда (Плавание) попросила меня сделать небольшое веб-приложение, чтобы читать время от пловцов и сравнивать его с другими пловцами, потому что они знали, что я занимаюсь программированием, хотя я совершенно новичок в PHP и имею Понятия не имею, что я делаю.

Поскольку спорт плавает, времена довольно точные, как: 0: 22.13.

0 - минуты, 22 секунды и 13 мс. Я нашел способ сделать это, если ячейки содержат часы, минуты, секунды, а не минуты, секунды, миллисекунды ...

Код, который я сейчас имею:

if(isset($_POST['submit'])) {
  $name = $_POST['user'];
  $uid = -1;

  $inputFileName = "tijden.xls";
  $inputFileType = "Excel5";

  $excel = PHPExcel_IOFactory::load('tijden.xls');

  $inputFileType = PHPExcel_IOFactory::identify($inputFileName);
  $objReader = PHPExcel_IOFactory::createReader($inputFileType);
  $objPHPExcel = $objReader->load($inputFileName);

  $sheet = $excel->getActiveSheet()->toArray(null);

  $login = false;

  //echo json_encode($sheet);

  for($i = 1; $i < sizeof($sheet); $i++) {
    if($name == $sheet[$i][1]) {
      $uid = $i;
      $login = true;

      $i = sizeof($sheet);
    }
  }

  if($login) {
    $data = $objPHPExcel->getActiveSheet()->getCell('K'.$uid)->getCalculatedValue();

    echo($data);
    echo("\n");
  }
}
?>

И что он выводит это 0,0014407407407407

Короче говоря, я хочу, чтобы PHPExcel считывал временные ячейки таким образом, чтобы время отображалось правильно ...

1 Ответ

0 голосов
/ 27 июня 2018

Посмотрите на это: http://www.osakac.ac.jp/labs/koeda/tmp/phpexcel/Documentation/API/PHPExcel_Style/PHPExcel_Style_NumberFormat.html

У setFormatCode должен быть метод для получения нужного формата.

Это также может быть актуально: PHPExcel String to Time

...