Dalam pembangunan aplikasi web, fail Excel ialah format sumber data yang sangat meluas dan biasa. Walau bagaimanapun, format data dalam fail Excel mungkin tidak serasi dengan aplikasi sasaran kami. Oleh itu, kami memerlukan kaedah untuk menukar data Excel ke dalam format data yang kami perlukan. Artikel ini akan memperkenalkan cara mengimport fail Excel dalam PHP dan menukar format data.
Langkah 1: Pasang pustaka PHPExcel
PHPExcel ialah perpustakaan PHP untuk membaca dan menulis fail Excel. Kita boleh memasang perpustakaan ini menggunakan Komposer. Masukkan arahan berikut dalam terminal:
composer require phpoffice/phpexcel
Ini akan memuat turun dan memasang pustaka PHPExcel dan kebergantungannya.
Langkah 2: Tulis kod
Dalam langkah ini, kami akan menulis kod PHP untuk membaca fail Excel dan menukarnya kepada format data yang kami perlukan. Kod berikut menunjukkan cara membaca fail Excel melalui PHPExcel dan menukarnya kepada tatasusunan:
<?php require_once 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); print_r($sheetData); ?>
Dalam contoh di atas, kami mula-mula menentukan jenis fail dan nama fail Excel untuk dibaca. Kemudian, kami mencipta objek pembaca PHPExcel dan menggunakan kaedah load() untuk membuka fail Excel. Akhir sekali, kami menggunakan kaedah toarray() objek PHPExcel untuk menukar data Excel kepada tatasusunan dan mencetak tatasusunan.
Kini, kami telah menukar data Excel kepada tatasusunan. Walau bagaimanapun, aplikasi sasaran kami mungkin memerlukan format data yang berbeza, jadi kami mesti melakukan penukaran format selanjutnya pada tatasusunan ini.
Berikut ialah contoh kod untuk menukar data Excel kepada format JSON:
<?php require_once 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); $jsonData = json_encode($sheetData); echo $jsonData; ?>
Dalam contoh di atas, kami menggunakan fungsi json_encode() PHP untuk menukar tatasusunan Excel kepada format JSON, dan mencetaknya.
Langkah Tiga: Pengesahan dan Penukaran Data
Dalam langkah kedua, kami telah menukar data Excel ke dalam format yang kami perlukan, tetapi kami juga perlu menukar data Lakukan pengesahan dan penukaran. Sebagai contoh, kita boleh menukar datetime kepada format masa standard, menukar rentetan angka kepada jenis angka, dsb.
Berikut ialah contoh ringkas penukaran format masa tarikh:
<?php require_once 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); foreach($sheetData as $key => $row) { if($key > 1) { $sheetData[$key][3] = strtotime($row[3]); } } $jsonData = json_encode($sheetData); echo $jsonData; ?>
Dalam contoh di atas, kami mengulangi setiap baris dalam tatasusunan dan menukar masa tarikh dalam lajur 4 Dalam cap waktu Unix format.
Kesimpulan
Dengan menggunakan perpustakaan PHPExcel, kami boleh mengimport data Excel dengan mudah ke dalam aplikasi PHP dan menukarnya kepada format yang kami perlukan. Walau bagaimanapun, sebelum melakukan penukaran format, kita mesti mempertimbangkan dengan teliti isu pengesahan dan penukaran data untuk memastikan ketepatan dan ketekalan data.
Atas ialah kandungan terperinci Cara membaca data Excel dalam PHP dan menukarnya kepada format yang ditentukan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!