在開發網站的過程中,我們常常需要從Excel表格中導入數據,然后將數據存儲到MySQL數據庫中以供使用。這篇文章將介紹如何使用PHP將Excel表格導入到MySQL數據庫中。
首先,我們需要確保已經安裝了PHPExcel庫,PHPExcel是一個開源的PHP庫,用于讀寫Excel文件。
// 下載PHPExcel庫 $ composer require phpoffice/phpexcel
下一步是編寫PHP腳本,首先需要連接MySQL數據庫:
// 連接MySQL數據庫 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "dbname"; $conn = new mysqli($servername, $username, $password, $dbname); // 檢測連接 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
然后,需要使用PHPExcel庫讀取Excel文件,并將數據存儲到一個數組中:
// 讀取Excel文件 require_once 'path/to/PHPExcel/Classes/PHPExcel.php'; require_once 'path/to/PHPExcel/Classes/PHPExcel/IOFactory.php'; $inputFileName = 'path/to/file.xls'; $objReader = PHPExcel_IOFactory::createReaderForFile($inputFileName); $objPHPExcel = $objReader->load($inputFileName); // 讀取第一個工作表,獲取最大行數和列數 $worksheet = $objPHPExcel->getActiveSheet(); $highestRow = $worksheet->getHighestRow(); $highestColumn = $worksheet->getHighestColumn(); $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); // 循環讀取數據 $data = array(); for ($row = 1; $row<= $highestRow; $row++) { for ($col = 0; $col< $highestColumnIndex; $col++) { $data[$row - 1][] = $worksheet->getCellByColumnAndRow($col, $row)->getValue(); } }
最后,將數據插入到MySQL數據庫中:
// 插入數據到MySQL數據庫 foreach ($data as $row) { $sql = "INSERT INTO `table_name` (`column1`, `column2`, `column3`) VALUES ('$row[0]', $row[1], $row[2])"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "
" . $conn->error; } } $conn->close();
以上就是使用PHP將Excel表格導入到MySQL數據庫中的方法,簡單易懂。不過需要注意的是,由于PHPExcel已經停止更新,建議使用PhpSpreadsheet取代PHPExcel。