Rumah >pembangunan bahagian belakang >tutorial php >PHP melaksanakan operasi membaca dan menulis fail Excel

PHP melaksanakan operasi membaca dan menulis fail Excel

王林
王林asal
2023-06-18 10:03:102694semak imbas

Fail Excel ialah format fail jadual yang biasa digunakan dan sering digunakan dalam proses pembangunan. Sebagai bahasa pengaturcaraan yang biasa digunakan, PHP juga menyokong operasi membaca dan menulis pada fail Excel. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk membaca dan menulis fail Excel.

  1. Pasang perpustakaan PHPExcel

PHPExcel ialah perpustakaan PHP sumber terbuka yang boleh membaca dan menulis fail Excel dengan mudah. Ia boleh dipasang melalui Komposer atau anda boleh memuat turun kod sumber terus dari GitHub.

Gunakan Komposer untuk memasang perpustakaan PHPExcel Anda hanya perlu melaksanakan arahan berikut dalam direktori akar projek:

composer require phpoffice/phpexcel

Selepas pemasangan selesai, anda boleh memuatkan perpustakaan PHPExcel melalui perkara berikut. kod:

require 'vendor/autoload.php';
  1. Membaca fail Excel

Pustaka PHPExcel menyediakan API yang kaya yang boleh digunakan untuk membaca fail Excel. Perkara pertama yang perlu dilakukan ialah membuka fail Excel. Kod berikut menunjukkan cara membuka fail Excel:

<?php
require 'vendor/autoload.php';

$inputFileName = 'example.xlsx';
$reader = PhpOfficePhpSpreadsheetIOFactory::createReaderForFile($inputFileName);
$spreadsheet = $reader->load($inputFileName);

Dalam kod di atas, pembolehubah $inputFileName memegang laluan ke fail Excel untuk dibaca. Kaedah createReaderForFile() boleh memilih pembaca yang sepadan secara automatik berdasarkan sambungan fail. Kaedah load() membaca kandungan fail ke dalam objek PhpSpreadsheet.

Selepas membaca fail Excel, kita boleh mendapatkan semua lembaran kerja dalam fail melalui kod berikut:

$worksheetNames = $spreadsheet->getSheetNames();

foreach ($worksheetNames as $worksheetName) {
    $worksheet = $spreadsheet->getSheetByName($worksheetName);
    // 对工作表进行操作
}

Dalam kod di atas, kaedah getSheetNames() mengembalikan senarai yang terdiri daripada lembaran kerja tatasusunan nama. Kita boleh lelaran melalui tatasusunan ini dan menggunakan kaedah getSheetByName() untuk mendapatkan objek lembaran kerja tertentu.

Selepas mendapatkan objek lembaran kerja, anda boleh menggunakan kod berikut untuk mendapatkan nilai sel:

$value = $worksheet->getCell('A1')->getValue();

Antaranya, kaedah getCell() digunakan untuk mendapatkan objek yang ditentukan sel, getValue() Kaedah digunakan untuk mendapatkan nilai sel.

  1. Tulis ke fail Excel

Begitu juga, perpustakaan PHPExcel juga menyediakan API untuk memudahkan kami menulis fail Excel. Kod berikut menunjukkan cara membuat fail Excel baharu dan menambah lembaran kerja dan data padanya:

$spreadsheet = new PhpOfficePhpSpreadsheetSpreadsheet();

// 创建工作表并设置名称
$worksheet = $spreadsheet->getActiveSheet();
$worksheet->setTitle('Sheet1');

// 设置单元格的值
$worksheet->setCellValue('A1', '姓名');
$worksheet->setCellValue('B1', '年龄');
$worksheet->setCellValue('C1', '性别');
$worksheet->setCellValue('A2', '张三');
$worksheet->setCellValue('B2', 25);
$worksheet->setCellValue('C2', '男');

// 保存Excel文件
$writer = PhpOfficePhpSpreadsheetIOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('output.xlsx');

Dalam kod di atas, objek PhpSpreadsheet dibuat dahulu, dan kemudian lembaran kerja kosong dibuat nama lembaran kerja dan nilai sel, dan akhirnya gunakan kaedah PhpSpreadsheet_IOFactory::createWriter() untuk mencipta objek penulis dan gunakan kaedah save() untuk menulis data pada fail.

  1. Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan PHP untuk membaca dan menulis fail Excel. Dengan menggunakan perpustakaan PHPExcel, kami boleh mengendalikan fail Excel dan membaca dan menulis data dengan mudah. Harap artikel ini dapat membantu anda!

Atas ialah kandungan terperinci PHP melaksanakan operasi membaca dan menulis fail Excel. 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