使用 PHP 创建 Excel 读取器类
介绍:
PHPExcel-1.8.1读取excel
创建 ExcelReader 类:
ExcelReader
类旨在从 Excel 文件中读取数据。它以文件路径作为输入,并提供一个方法来从 Excel 文件中读取数据。
<?php
require_once "lib/PHPExcel-1.8.1/Classes/PHPExcel.php";
class ExcelReader
{
protected $file;
public function __construct($file)
{
$this->file = $file;
}
public function read($startRow = 1)
{
if (!file_exists($this->file)) {
return false;
}
// 创建 Excel 读取器对象
$reader = PHPExcel_IOFactory::createReader('Excel5');
// 获取 Excel 对象
$excel = PHPExcel_IOFactory::load($this->file);
// 初始化数据数组
$data = array();
// 获取所有工作表名
$sheetNames = $excel->getSheetNames();
// 遍历工作表
foreach ($sheetNames as $sheetName) {
// 根据表名设置当前工作表
$excel->setActiveSheetIndexByName($sheetName);
// 获取当前工作表对象
$curSheet = $excel->getActiveSheet();
// 获取最大行数和列数
$rows = $curSheet->getHighestRow();
$cols = $curSheet->getHighestColumn();
// 初始化工作表数据数组
$data[$sheetName] = array();
// 循环读取每一行数据
for ($row = $startRow; $row <= $rows; $row++) {
$rowData = array();
// 循环读取每一列数据
for ($col = 'A'; $col <= $cols; $col++) {
$cellValue = $curSheet->getCell($col . $row)->getValue();
// 将单元格值存储到行数据数组中
$rowData[] = $cellValue;
}
// 将行数据存储到工作表数据数组中
$data[$sheetName][] = $rowData;
}
}
// 检查 'Sheet1' 是否存在
if(!array_key_exists("Sheet1", $data)){
return false;
}
// 返回 'Sheet1' 中的数据
return $data['Sheet1'];
}
}
?>
使用 ExcelReader 类: