Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Proses fail Excel menggunakan PHP dan PhpSpreadsheet

Proses fail Excel menggunakan PHP dan PhpSpreadsheet

WBOY
WBOYasal
2023-05-11 15:24:172032semak imbas

Dengan kemunculan era digital, hamparan telah menjadi bahagian yang sangat diperlukan dalam kerja harian ramai orang. Terutama bagi mereka yang perlu memproses sejumlah besar data, fail Excel adalah alat yang sangat diperlukan. Walau bagaimanapun, pemprosesan fail Excel secara manual boleh membosankan dan terdedah kepada ralat, jadi pemprosesan automatik fail Excel telah menjadi pilihan ramai orang. Kemunculan PHP dan PhpSpreadsheet menjadikan pemprosesan fail Excel lebih mudah.

PHP ialah bahasa skrip sebelah pelayan sumber terbuka yang popular untuk menulis aplikasi web dinamik, manakala PhpSpreadsheet ialah perpustakaan PHP untuk membaca dan menulis fail Excel. PhpSpreadsheet ialah versi PHPExcel yang dinaik taraf yang direka untuk memberikan prestasi dan kebolehselenggaraan yang lebih baik. Yang berikut akan meneroka cara menggunakan PHP dan PhpSpreadsheet untuk memproses fail Excel.

  1. Pasang PhpSpreadsheet

Sebelum menggunakan PhpSpreadsheet secara rasmi, kita perlu memasangnya terlebih dahulu. Ia boleh dipasang melalui Composer, hanya masukkan arahan berikut di terminal:

composer require phpoffice/phpspreadsheet

Selepas pemasangan selesai, kita boleh mula menggunakan PhpSpreadsheet untuk memproses fail Excel.

  1. Baca fail Excel

PhpSpreadsheet boleh membaca fail Excel dalam pelbagai format, termasuk ".xls" dan ".xlsx". Berikut ialah contoh kod ringkas yang menunjukkan cara membaca fail Excel:

use PhpOfficePhpSpreadsheetIOFactory;

$reader = IOFactory::createReader('Xlsx'); // 先创建一个Reader对象
$spreadsheet = $reader->load('example.xlsx'); // 载入文件到Spreadsheet对象中

$worksheet = $spreadsheet->getActiveSheet(); // 获取活动工作表

$highestRow = $worksheet->getHighestRow(); // 获取最大行数
$highestColumn = $worksheet->getHighestColumn(); // 获取最大列数

// 从第1行开始遍历每一行
for ($row = 1; $row <= $highestRow; ++$row) {
    // 从A列开始遍历每一列
    for ($col = 'A'; $col <= $highestColumn; ++$col) {
        $cell = $worksheet->getCell($col . $row); // 获取单元格对象
        $value = $cell->getValue(); // 获取单元格值
        echo "$col$row: $value
";
    }
}

Kod di atas akan membaca fail Excel bernama "example.xlsx" dan melelang melalui setiap baris dan lajur untuk mengeluarkan nilai sel. Julat yang dilalui boleh diubah suai mengikut keperluan.

  1. Tulis fail Excel

Selain membaca fail Excel, PhpSpreadsheet juga boleh menulis fail Excel. Berikut ialah contoh kod yang menunjukkan cara menulis data dalam fail Excel:

use PhpOfficePhpSpreadsheetSpreadsheet;
use PhpOfficePhpSpreadsheetWriterXlsx;

$spreadsheet = new Spreadsheet(); // 创建一个Spreadsheet对象

$worksheet = $spreadsheet->getActiveSheet(); // 获取活动工作表

// 写入数据
$worksheet->setCellValue('A1', '姓名')
          ->setCellValue('B1', '分数')
          ->setCellValue('A2', '张三')
          ->setCellValue('B2', 80)
          ->setCellValue('A3', '李四')
          ->setCellValue('B3', 90);

$writer = new Xlsx($spreadsheet); // 创建一个Writer对象,指定文件类型为“xlsx”

$writer->save('example.xlsx'); // 保存Excel文件

Kod di atas akan menulis data ke fail Excel bernama "example.xlsx". Dalam situasi sebenar, nilai sel dan nama fail boleh diubah suai mengikut keperluan.

Ringkasan

Artikel ini memperkenalkan cara menggunakan PHP dan PhpSpreadsheet untuk memproses fail Excel. PhpSpreadsheet berkuasa dan boleh digunakan untuk membaca dan menulis fail Excel dalam pelbagai format. Dengan menggunakan PhpSpreadsheet, pembangun boleh mengautomasikan pemprosesan fail Excel dengan mudah dan meningkatkan kecekapan kerja. Jika anda perlu bekerja dengan jumlah data yang besar, adalah disyorkan untuk mencuba PHP dan PhpSpreadsheet untuk menjadikan pemprosesan Excel lebih mudah dan lebih cekap.

Atas ialah kandungan terperinci Proses fail Excel menggunakan PHP dan PhpSpreadsheet. 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
Artikel sebelumnya:Aplikasi corak MVC dalam PHPArtikel seterusnya:Aplikasi corak MVC dalam PHP