Kemarin saya download PHP Excel Reader yang saya gunakan di CodeIgniter untuk melakukan importing data dari file excel. Semuanya bisa berjalan dengan baik dan lancar, hanya yang jadi masalah pada saat itu hasil pembacaan untuk kolom tanggal pada file excel ternyata tidak sesuai dengan yang diharapkan.
Saya membuat format tanggal di excel sebagai dd-mm-yyy, lalu mm-dd-yyy, dan dd/mm/yyyy. Semuanya gagal dibaca dan hanya menjadi sebuah integer seperti 36264 dsb. Dari situ akhirnya saya browsing mencari informasi untuk mengkonversi integer dari excel ke PHP Timestamp. Akhirnya setelah googling saya menemukan beberapa solusi di sini, dan di sini. Namun semuanya urung juga bisa menampilkan hasil sesuai dengan isi file excel tersebut.
Bahkan saya sampai membuat fungsi sesuai yang disarankan sebagai berikut :
define("MIN_DATES_DIFF", 25569);
// Numbers of second in a day:
define("SEC_IN_DAY", 86400);
function excel2timestamp($excelDate)
{
if ($excelDate <= MIN_DATES_DIFF)
return 0;
return ($excelDate - MIN_DATES_DIFF) * SEC_IN_DAY;
}
Saya konversi integer dari excel ke PHP, namun yang muncul malah bilangan minus (ex : -22398759893). Lah!?!? kok malah jadi gini?? Akhirnya saya utak – atik lagi format tanggal di excel, saya ganti menjadi format default English US yang dikasih bintang(*). Saya gunakan tipe mm/dd/yyyy. Dan ketika saya upload lagi file excel ternyata sekarang berhasil dibaca dengan baik! ohhh..ternyata hanya masalah format tanggal di excel. Akhirnya semuanya bisa berjalan dengan lancar