PHP是一種流行的程式語言,用於開發Web應用程式和網站。在網路應用程式中,經常需要從Excel(.xls或.xlsx)檔案中匯入資料到資料庫中。本文將介紹如何使用PHP讀取Excel資料並匯入資料庫。
PHPExcel是用來讀取和處理Excel檔案的PHP函式庫。您可以從官方網站(https://phpexcel.codeplex.com/)下載PHPExcel庫,也可以使用Composer安裝。使用Composer的話,只需要在composer.json檔案中加入以下程式碼即可:
{ "require": { "phpoffice/phpexcel": "1.8.*" } }
在命令列中執行composer update
指令,Composer會自動安裝PHPExcel函式庫。
在匯入Excel資料之前,您需要有一個Excel檔案。您可以透過Microsoft Excel等軟體建立一個Excel檔案。注意,您需要將Excel檔案儲存為.xls或.xlsx格式。另外,Excel檔案的第一行應該是表頭,也就是列名。例如:
ID | Name | Age | |
---|---|---|---|
1 | John | 25 | john@gmail.com |
2 | Mary | 30 | mary@yahoo.com |
#3 | David | #35 | david@outlook.com |
使用PHPExcel讀取Excel文件很簡單。只需要按照以下步驟操作:
require_once 'vendor/autoload.php'; // 引入PHPExcel库 $path = 'example.xlsx'; // Excel文件路径 // 创建PHPExcel对象 $excel = PHPExcel_IOFactory::load($path); // 获取Excel的第一个工作表 $sheet = $excel->getActiveSheet(); // 获取工作表中的行数和列数 $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); // 遍历每一行 for ($row = 2; $row <= $highestRow; $row++) { // 获取每一行的数据 $id = $sheet->getCellByColumnAndRow(0, $row)->getValue(); $name = $sheet->getCellByColumnAndRow(1, $row)->getValue(); $age = $sheet->getCellByColumnAndRow(2, $row)->getValue(); $email = $sheet->getCellByColumnAndRow(3, $row)->getValue(); // 在此处可以将行数据插入到数据库中 }
在上述範例中,我們使用PHPExcel函式庫的load()
方法建立PHPExcel對象,並從Excel檔案中載入資料。然後,我們取得Excel檔案的第一個工作表,並使用getHighestRow()
和getHighestColumn()
方法來取得行數和列數。最後,我們遍歷每一行,使用getCellByColumnAndRow()
方法來取得每一行的單元格數據,並將其插入到資料庫中。
將Excel檔案中的資料插入資料庫中,可以使用SQL INSERT語句。因此,您需要先連接到資料庫,然後將資料插入資料庫中。
// 连接到数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // 插入数据到数据库中 for ($row = 2; $row <= $highestRow; $row++) { $id = $sheet->getCellByColumnAndRow(0, $row)->getValue(); $name = $sheet->getCellByColumnAndRow(1, $row)->getValue(); $age = $sheet->getCellByColumnAndRow(2, $row)->getValue(); $email = $sheet->getCellByColumnAndRow(3, $row)->getValue(); $sql = "INSERT INTO myTable (id, name, age, email) VALUES ('$id', '$name', '$age', '$email')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } $conn->close(); // 关闭数据库连接
在上述範例中,我們使用mysqli連接到MySQL資料庫。在每一行資料中,我們使用SQL INSERT語句將資料插入myTable表中。如果插入成功,我們將會看到「New record created successfully」的訊息,否則將會輸出錯誤訊息。
總結
使用PHP實作從Excel中匯入資料很容易。您只需要使用PHPExcel庫讀取Excel文件,並將資料插入資料庫中。在上述範例中,我們示範如何使用PHPExcel函式庫和SQL INSERT語句將資料匯入MySQL資料庫。
以上是php怎麼讀取Excel資料並導入資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!