Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menanyakan data daripada Excel menggunakan PHP

Bagaimana untuk menanyakan data daripada Excel menggunakan PHP

PHPz
PHPzasal
2023-04-26 10:34:501729semak imbas

Excel ialah salah satu perisian pejabat yang digunakan secara meluas, yang mengandungi sejumlah besar data, seperti senarai harga produk, jadual maklumat pesanan, dsb. Dalam kebanyakan kes, kami perlu mengekstrak data daripada Excel untuk diproses bagi menjalankan analisis data, perlombongan data dan operasi lain yang seterusnya. Artikel ini menerangkan cara membuat pertanyaan data daripada Excel menggunakan PHP.

1. Persediaan

Pertama, kita perlu memasang perpustakaan PHPExcel untuk membaca fail Excel dalam PHP. PHPExcel ialah perpustakaan kelas PHP yang digunakan untuk membaca dan menulis fail Excel dan menyokong berbilang format Excel. Untuk memasang perpustakaan PHPExcel, sila laksanakan arahan berikut pada baris arahan:

composer require phpoffice/phpexcel

Selepas pemasangan selesai, masukkan fail kelas PHPExcel ke dalam fail PHP:

require 'vendor/autoload.php';

Seterusnya, Kami perlu menyediakan fail Excel, dengan mengandaikan laluannya ialah /var/www/excel/data.xlsx, yang mengandungi helaian lembaran kerja1, dan data adalah seperti yang ditunjukkan di bawah:

Bagaimana untuk menanyakan data daripada Excel menggunakan PHP

2. Data pertanyaan

Selepas kami menyediakan persediaan, kami boleh menggunakan perpustakaan PHPExcel untuk menanyakan data. Langkah-langkah khusus adalah seperti berikut:

1 Instantiate kelas PHPExcel:

$objPHPExcel = new PHPExcel();

2 Muatkan fail Excel:

$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load('/var/www/excel/data.xlsx');

Antaranya, Excel2007 bermaksud. membaca Excel 2007 dan Untuk fail versi di atas, jika anda perlu membaca fail Excel versi lain, sila rujuk dokumentasi rasmi.

3. Dapatkan lembaran kerja:

$sheet = $objPHPExcel->getActiveSheet();

4 Dapatkan bilangan baris dan lajur:

$rowCount = $sheet->getHighestRow(); //行数
$columnCount = $sheet->getHighestColumn(); //列数
$columnCount = PHPExcel_Cell::columnIndexFromString($columnCount);

Antaranya, PHPExcel_Cell::columnIndexFromString() kaedah digunakan Tukar nama lajur Excel kepada indeks lajur untuk mendapatkan bilangan lajur.

5 Lintas lembaran kerja dan dapatkan data:

$data = array();

for ($rowIndex = 1; $rowIndex getCellByColumnAndRow($columnIndex, $rowIndex)->getValue();
        $data[$rowIndex-1][$columnIndex] = $cellValue;
    }
}

Dalam kod di atas, kami melintasi setiap baris dan lajur lembaran kerja melalui gelung bersarang, dan kemudian gunakan getCellByColumnAndRow() The kaedah mendapatkan nilai sel dan menyimpannya dalam tatasusunan $data Struktur akhir tatasusunan $data adalah seperti berikut:

array(
    array('姓名', '年龄', '性别'),
    array('张三', 20, '男'),
    array('李四', 25, '女'),
    array('王五', 30, '男'),
)

Dengan cara ini, kita boleh menanyakan data daripada Excel.

3. Contoh kod

Di atas adalah langkah khusus untuk menanyakan data daripada Excel Kod contoh lengkap diberikan di bawah untuk rujukan pelajar:

require 'vendor/autoload.php';

$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load('/var/www/excel/data.xlsx');

$sheet = $objPHPExcel->getActiveSheet();

$rowCount = $sheet->getHighestRow();
$columnCount = $sheet->getHighestColumn();
$columnCount = PHPExcel_Cell::columnIndexFromString($columnCount);

$data = array();

for ($rowIndex = 1; $rowIndex getCellByColumnAndRow($columnIndex, $rowIndex)->getValue();
        $data[$rowIndex-1][$columnIndex] = $cellValue;
    }
}

var_dump($data);

Output. keputusan Seperti berikut:

array(4) {
  [0]=>
  array(3) {
    [0]=>
    string(6) "姓名"
    [1]=>
    string(6) "年龄"
    [2]=>
    string(6) "性别"
  }
  [1]=>
  array(3) {
    [0]=>
    string(6) "张三"
    [1]=>
    float(20)
    [2]=>
    string(3) "男"
  }
  [2]=>
  array(3) {
    [0]=>
    string(6) "李四"
    [1]=>
    float(25)
    [2]=>
    string(3) "女"
  }
  [3]=>
  array(3) {
    [0]=>
    string(6) "王五"
    [1]=>
    float(30)
    [2]=>
    string(3) "男"
  }
}

4. Ringkasan

Artikel ini memperkenalkan cara menggunakan perpustakaan PHPExcel untuk menanyakan data daripada Excel fail, dapatkan lembaran kerja, Dapatkan bilangan baris dan lajur, rentasi lembaran kerja dan dapatkan data. Melalui pengenalan artikel ini, pelajar boleh menguasai kaedah asas untuk mendapatkan data daripada Excel.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan data daripada Excel menggunakan PHP. 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