Bagaimana untuk menanyakan data daripada Excel menggunakan PHP

PHPz
Lepaskan: 2023-04-26 10:54:48
asal
1734 orang telah melayarinya

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
Salin selepas log masuk

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

require 'vendor/autoload.php';
Salin selepas log masuk

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();
Salin selepas log masuk

2 Muatkan fail Excel:

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

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();
Salin selepas log masuk

4 Dapatkan bilangan baris dan lajur:

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

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;
    }
}
Salin selepas log masuk

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, '男'),
)
Salin selepas log masuk

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);
Salin selepas log masuk

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) "男"
  }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan