Hiện tại, tôi đang tạo một chương trình cho công việc của mình sử dụng PHPexcel để lấy tất cả dữ liệu từ một bảng excel, tạo một bảng tính mới và định dạng nó thành văn bản và chuyển tất cả dữ liệu từ bảng excel cũ.PHPExcel, Ngày được phân tích cú pháp không chính xác
php của tôi phải có khả năng nhận các giá trị từ bảng excel cũ và phân tích cú pháp chính xác, đặc biệt là ngày/số/v.v.
Mọi thứ đều hoạt động tốt trừ ngày. Đối với một số lý do khi tôi nhận được giá trị được định dạng của ô; nó không khớp với định dạng ngày trong trang tính đầu tiên. Cụ thể là một giá trị như thế này: 12/31/2099. Đối với một số lý do, nó đọc định dạng không chính xác như mm-dd-yy và đầu ra 12-31-99. Điều này là cực kỳ bực bội và tôi đã cọ rửa một nửa của internet cho một câu trả lời. Xin vui lòng giúp đỡ; Tôi không chắc vấn đề là gì! Mã số:
<?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 là ô có định dạng DATE và giá trị là 12/31/2099. Mã này in 12-31-99 ...
Hãy thử getValue() thay vì getFormattedValue() – aynber
getValue() lấy giá trị dữ liệu thô của ô và trả về một phao. –
Từ những gì tôi có thể nói ở đây (http://phpexcel.codeplex.com/discussions/371418) bạn sẽ có thể sử dụng Date :: Time để chuyển đổi nó sang định dạng ngày bạn muốn. – aynber