📜  我如何使用 php 读取 excel 文件 - PHP (1)

📅  最后修改于: 2023-12-03 15:39:38.822000             🧑  作者: Mango

如何使用 PHP 读取 Excel 文件

在开发过程中,我们经常需要读取 Excel 文件来获取数据,那么在 PHP 中,我们该怎么做呢?本文将介绍如何使用 PHP 读取 Excel 文件。

使用 PHPExcel 库读取 Excel 文件

PHPExcel 是 PHP 中一个强大的处理 Excel 文件的开源库。我们可以使用它来读取 Excel 文件。

安装 PHPExcel 库

首先,需要下载 PHPExcel 库并将其解压到项目目录中。可以从官方下载页中下载最新版本。

读取 Excel 文件

在安装 PHPExcel 库后,我们就可以通过以下代码读取 Excel 文件:

require_once 'PHPExcel.php';

$inputFileName = './example.xlsx';

// 读取文件
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load($inputFileName);

// 获取工作表
$sheet = $objPHPExcel->getActiveSheet();

// 获取行数和列数
$highestRow = $sheet->getHighestRow(); // 行数
$highestColumn = $sheet->getHighestColumn(); // 列数

// 遍历每一行
for ($row = 1; $row <= $highestRow; $row++){
    // 获取一行中的值
    $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, null, true, false);
    // 处理 $rowData
}

上面的代码中,我们通过创建一个 PHPExcel_IOFactory 类型的对象,来读取 Excel 文件。然后通过 $objPHPExcel->getActiveSheet() 获取工作表对象。最后,使用 getHighestRow()getHighestColumn() 获取 Excel 文件的行数和列数。接着,我们可以遍历每一行,并使用 rangeToArray() 方法获取一行中的值。

使用 PHP Spreadsheet 库读取 Excel 文件

PHPExcel 已经停止维护了,推荐使用 PHP Spreadsheet 来处理 Excel 文件。使用 PHP Spreadsheet 读取 Excel 文件非常简单。以下代码演示如何读取 Excel 文件:

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\IOFactory;

$inputFileName = './example.xlsx';

$spreadsheet = IOFactory::load($inputFileName);
$worksheet = $spreadsheet->getActiveSheet();

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

// 遍历每一行
for ($row = 1; $row <= $highestRow; $row++){
    // 获取一行中的值
    $rowData = $worksheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, null, true, false);
    // 处理 $rowData
}

上面的代码中,我们首先使用 IOFactory::load() 方法读取 Excel 文件,并通过 $spreadsheet->getActiveSheet() 获取工作表对象。接着,使用 getHighestRow()getHighestColumn() 方法获取 Excel 文件的行数和列数。最后,我们可以遍历每一行,并使用 rangeToArray() 方法获取一行中的值。

小结

本文介绍了如何使用 PHPExcel 和 PHP Spreadsheet 两个库来读取 Excel 文件。其中,PHP Spreadsheet 是唯一一个正在积极维护的库,建议使用 PHP Spreadsheet 处理 Excel 文件。