Excel表格在工作、學習、生活中都有著重要的作用,而通過使用PHP語言讀取Excel表格數據,則可以更加便捷的進行操作與處理數據。若是利用PHP創建表格,同樣可以通過Excel的形式進行展現,從而更加直觀美觀。這篇文章將介紹Excel表格如何在PHP中應用,并給出相關的代碼實現。
在PHP中獲取Excel數據最常用的方式是利用PHPExcel這一類擴展庫,該庫通過對Excel文件的解析,可快速獲取Excel表格的內容。而在獲取Excel數據之前,我們需要將Excel表格上傳至服務器,通過以下代碼實現:
<?php if ($_FILES["file"]["error"] >0) { echo "Error: " . $_FILES["file"]["error"] . "<br />"; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "文件已上傳至:upload/" . $_FILES["file"]["name"]; } ?>
在Excel表格上傳完成后,我們可以利用PHPExcel類中的方法進行Excel文件的讀取操作。例如,要讀取EXCEL文件中的第一個工作表數據:
<?php require_once 'PHPExcel/IOFactory.php'; $filename = 'upload\test.xlsx'; $phpExcel = PHPExcel_IOFactory::load($filename); $worksheet = $phpExcel->getSheet(0); // 循環獲取每行的內容 foreach ($worksheet->getRowIterator() as $row) { // 獲取每個單元格的數據并輸出 foreach ($row->getCellIterator() as $cell) { echo $cell->getValue() . '\t'; } echo '\n'; } ?>
在獲取完EXCEL數據后,我們可以進行數據的處理或者用PHP語言創建Excel表格。例如,用PHP生成一個有表格頭的Excel表格如下:
<?php header('Content-Type:application/vnd.ms-excel;charset=utf-8'); header('Content-Disposition:attachment;filename=test.xls'); // 防止中文亂碼 header('Cache-Control:max-age=0'); // PHPExcel類的引用 require_once 'PHPExcel.php'; $objPHPExcel = new PHPExcel(); // 給表格添加一個標題(單元格合并) $objPHPExcel->getActiveSheet()->mergeCells('A1:E1'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', '圖書館借還記錄表'); // 在表格中添加列名,字段信息 $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A2', '編號'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('B2', '借書人'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('C2', '書籍名稱'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('D2', '借書時間'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('E2', '還書時間'); // 給表格添加字段值 $i = 3; $rowCount = count($resultArr); while($row = $rs->fetch_assoc()) { $objPHPExcel->getActiveSheet()->setCellValue('A'.$i, $i-2); $objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $row['name']); $objPHPExcel->getActiveSheet()->setCellValue('C'.$i, $row['book_name']); $objPHPExcel->getActiveSheet()->setCellValue('D'.$i, $row['borrow_time']); $objPHPExcel->getActiveSheet()->setCellValue('E'.$i, $row['return_time']); $i++; } // 設定當前活動表格 $objPHPExcel->setActiveSheetIndex(0); // 生成Excel文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); // 下載Excel文件 $objWriter->save('php://output'); ?>
利用以上代碼,我們成功實現了基于PHO生成一個Excel表格并下載它。除此之外,我們可以使用PHPExcel類庫對Excel表格進行編輯、更新等操作,使得開發者能夠更加高效便捷地處理數據。