Semasa proses pembangunan, kami selalunya perlu mengeksport data ke dalam fail Excel untuk memudahkan pengguna memuat turun dan menyimpan. Php, sebagai bahasa pengaturcaraan sebelah pelayan yang popular, juga boleh melaksanakan fungsi ini dengan mudah. Artikel ini akan memperkenalkan cara menggunakan Php untuk mengeksport tatasusunan ke dalam fail Excel.
1. Persediaan
Sebelum memulakan pengekodan, anda perlu terlebih dahulu memastikan PHPExcel, perpustakaan pemprosesan Php Excel sumber terbuka, telah dipasang pada pelayan. Jika anda belum memasangnya, anda boleh pergi ke laman web rasmi PHPExcel untuk memuat turunnya. Anda hanya perlu menyalin fail perpustakaan PHPExcel ke folder projek anda.
2. Cipta fail Excel dan tulis data
Buat fail Excel baharu dan tulis data, yang perlu dicapai melalui objek PHPExcel dalam pustaka PHPExcel. Objek PHPExcel yang mudah digunakan menyediakan beberapa fungsi berguna supaya anda boleh menentukan pelbagai sifat fail Excel.
Sebagai contoh, jika kita ingin mencipta fail Excel baharu dan menentukan lebar lajur dan ketinggian barisnya untuk memaparkan data dengan lebih baik, kita boleh menggunakan kod berikut:
//创建PHPExcel对象 $objPHPExcel = new PHPExcel(); //设置列宽 $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30); //设置行高 $objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(30); $objPHPExcel->getActiveSheet()->getRowDimension(2)->setRowHeight(20);
Sediakan Selepas menetapkan sifat fail Excel, kita boleh menulis data ke fail Excel. Untuk menunjukkan pengeksportan data tatasusunan ke Excel, kita boleh menganggap bahawa terdapat data tatasusunan seperti yang ditunjukkan di bawah:
$data = array( array('姓名', '年龄', '性别'), array('张三', '18', '男'), array('李四', '20', '女'), array('王五', '22', '男'), );
Untuk menulis data tatasusunan ini ke fail Excel, anda boleh menggunakan kod berikut:
//写入数据到工作表1 $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->fromArray($data, NULL, 'A1');
Kod di atas Tulis data tatasusunan $data ke dalam lembaran kerja 1 fail Excel, bermula dari baris 1 dan lajur 1. $null bermakna PhpExcel akan melaraskan format sel secara automatik mengikut data input.
3. Eksport fail Excel
Selepas menulis data tatasusunan ke dalam fail Excel, langkah terakhir ialah mengeksport fail Excel yang dijana secara setempat. Untuk melakukan ini, kita perlu menetapkan beberapa pengepala respons.
Pertama, kita perlu menetapkan nama fail fail Excel yang diterima supaya pengguna dapat mengenal pasti kandungan dengan lebih baik. Seterusnya, kita perlu memberitahu penyemak imbas untuk menghantar fail Excel kepada pengguna supaya penyemak imbas menganggapnya sebagai fail Excel dan bukannya fail teks biasa.
Kod untuk melaksanakan fungsi di atas adalah seperti berikut:
//设置响应头信息 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="测试导出.xlsx"'); header('Cache-Control: max-age=0'); //创建Excel文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //导出Excel文件到本地 $objWriter->save('php://output');
Kod di atas memberitahu penyemak imbas untuk menerima fail Excel dengan menetapkan maklumat pengepala respons yang berkaitan. Kami kemudian mencipta objek PHPExcel_IOFactory dan menggunakannya untuk menulis data ke fail dan menyimpan fail.
Akhir sekali, eksport fail Excel kepada klien dengan memanggil fungsi $objWriter->save('php://output').
4. Kod lengkap
Menggabungkan bahagian kod di atas boleh merealisasikan fungsi mengeksport data tatasusunan ke dalam fail Excel.
Kod lengkap adalah seperti berikut:
//引入PHPExcel库文件 require_once 'PHPExcel.php'; //创建PHPExcel对象 $objPHPExcel = new PHPExcel(); //设置列宽 $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30); //设置行高 $objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(30); $objPHPExcel->getActiveSheet()->getRowDimension(2)->setRowHeight(20); //定义数据 $data = array( array('姓名', '年龄', '性别'), array('张三', '18', '男'), array('李四', '20', '女'), array('王五', '22', '男'), ); //将数组写入Excel文件 $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->fromArray($data, NULL, 'A1'); //设置响应头信息 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="测试导出.xlsx"'); header('Cache-Control: max-age=0'); //创建Excel文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //导出Excel文件到本地 $objWriter->save('php://output');
Kod di atas menggunakan perpustakaan PHPExcel untuk mencipta objek Excel, menulis data ke dalam Excel dan akhirnya mengeksport fail Excel kepada klien.
5. Ringkasan
Php ialah bahasa pengaturcaraan sebelah pelayan yang popular Digabungkan dengan pustaka PHPExcel, data tatasusunan boleh dieksport dengan mudah ke dalam fail Excel dan diberikan kepada pengguna untuk dimuat turun dan disimpan. Dalam contoh di atas, kami memperkenalkan cara menggunakan perpustakaan PHPExcel untuk mencipta buku kerja Excel, menulis data dan mengeksport fail Kami berharap ia akan membantu eksport Excel anda dalam pembangunan Php.
Atas ialah kandungan terperinci Bagaimana untuk mengeksport tatasusunan untuk cemerlang dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!