Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara membaca data Excel dalam php dan mengimportnya ke dalam pangkalan data

Cara membaca data Excel dalam php dan mengimportnya ke dalam pangkalan data

PHPz
PHPzasal
2023-03-24 10:58:272474semak imbas

PHP ialah bahasa pengaturcaraan popular yang digunakan untuk membangunkan aplikasi web dan tapak web. Dalam aplikasi web, selalunya perlu mengimport data daripada fail Excel (.xls atau .xlsx) ke dalam pangkalan data. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membaca data Excel dan mengimportnya ke dalam pangkalan data.

  1. Pasang PHPExcel

PHPExcel ialah perpustakaan PHP untuk membaca dan memproses fail Excel. Anda boleh memuat turun perpustakaan PHPExcel dari tapak web rasmi (https://phpexcel.codeplex.com/) atau memasangnya menggunakan Komposer. Jika anda menggunakan Composer, anda hanya perlu menambah kod berikut pada fail composer.json:

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

Laksanakan perintah composer update pada baris arahan dan Composer akan memasang perpustakaan PHPExcel secara automatik.

  1. Buat fail Excel

Sebelum mengimport data Excel, anda perlu mempunyai fail Excel. Anda boleh mencipta fail Excel melalui perisian seperti Microsoft Excel. Ambil perhatian bahawa anda perlu menyimpan fail Excel dalam format .xls atau .xlsx. Di samping itu, baris pertama fail Excel hendaklah menjadi pengepala, iaitu nama lajur. Contohnya:

ID Name Age Email
1 John 25 john@gmail.com
2 Mary 30 mary@yahoo.com
3 David 35 david@outlook.com
  1. Membaca fail Excel

Membaca fail Excel adalah mudah dengan PHPExcel. Cuma ikut langkah berikut:

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();

    // 在此处可以将行数据插入到数据库中
}

Dalam contoh di atas, kami menggunakan kaedah load() pustaka PHPExcel untuk mencipta objek PHPExcel dan memuatkan data daripada fail Excel. Kemudian, kami mendapat lembaran kerja pertama fail Excel dan menggunakan kaedah getHighestRow() dan getHighestColumn() untuk mendapatkan bilangan baris dan lajur. Akhir sekali, kami mengulangi setiap baris, menggunakan kaedah getCellByColumnAndRow() untuk mendapatkan data sel setiap baris dan memasukkannya ke dalam pangkalan data.

  1. Sisipan Pangkalan Data

Untuk memasukkan data daripada fail Excel ke dalam pangkalan data, anda boleh menggunakan pernyataan SQL INSERT. Oleh itu, anda perlu menyambung ke pangkalan data terlebih dahulu dan kemudian memasukkan data ke dalam pangkalan data.

// 连接到数据库
$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(); // 关闭数据库连接

Dalam contoh di atas, kami menggunakan mysqli untuk menyambung ke pangkalan data MySQL. Dalam setiap baris data, kami menggunakan pernyataan SQL INSERT untuk memasukkan data ke dalam jadual myTable. Jika sisipan berjaya, kita akan melihat mesej "Rekod baharu berjaya dibuat", jika tidak mesej ralat akan dikeluarkan.

Ringkasan

Mudah untuk mengimport data daripada Excel menggunakan PHP. Anda hanya perlu menggunakan perpustakaan PHPExcel untuk membaca fail Excel dan memasukkan data ke dalam pangkalan data. Dalam contoh di atas, kami telah menunjukkan cara mengimport data ke dalam pangkalan data MySQL menggunakan perpustakaan PHPExcel dan pernyataan SQL INSERT.

Atas ialah kandungan terperinci Cara membaca data Excel dalam php dan mengimportnya ke dalam pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn