首頁 >後端開發 >PHP問題 >php怎麼讀取Excel資料並導入資料庫

php怎麼讀取Excel資料並導入資料庫

PHPz
PHPz原創
2023-03-24 10:58:272543瀏覽

PHP是一種流行的程式語言,用於開發Web應用程式和網站。在網路應用程式中,經常需要從Excel(.xls或.xlsx)檔案中匯入資料到資料庫中。本文將介紹如何使用PHP讀取Excel資料並匯入資料庫。

  1. 安裝 PHPExcel

PHPExcel是用來讀取和處理Excel檔案的PHP函式庫。您可以從官方網站(https://phpexcel.codeplex.com/)下載PHPExcel庫,也可以使用Composer安裝。使用Composer的話,只需要在composer.json檔案中加入以下程式碼即可:

{
    "require": {
        "phpoffice/phpexcel": "1.8.*"
    }
}

在命令列中執行composer update指令,Composer會自動安裝PHPExcel函式庫。

  1. 建立Excel檔案

在匯入Excel資料之前,您需要有一個Excel檔案。您可以透過Microsoft Excel等軟體建立一個Excel檔案。注意,您需要將Excel檔案儲存為.xls或.xlsx格式。另外,Excel檔案的第一行應該是表頭,也就是列名。例如:

ID Name Age Email
1 John 25 john@gmail.com
2 Mary 30 mary@yahoo.com
#3 David #35 david@outlook.com
  1. #讀取Excel檔案

使用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()方法來取得每一行的單元格數據,並將其插入到資料庫中。

  1. 資料庫插入

將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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn