php getsheet

笔记2024-04-252 人已阅来源:网络

在PHP中,有一种非常常见的操作就是通过操作Excel电子表格来获取或者更新其中的数据。 而为了能够实现这样的操作,PHP中原生提供了一些内置函数。通过这些函数我们可以轻松实现对Excel格式的文件进行读取和写入操作。其中就有getsheets这个函数。

getsheets函数主要用于获得Excel文件中的所有数据表结构。该函数可以读取指定的工作簿中的所有数据表名称,并以数组的形式返回这些表的名称。通过该函数,我们可以轻松实现Excel电子表格的数据读取。我们可以直接列出数据表名称,然后通过对表名称的循环,即可读取出表内的所有需要的数据信息。

$excel_path = './test.xlsx';
function get_sheet($excel_path){
if(!file_exists($excel_path)) return false;
//加载PHPExcel类库
require_once "./PHPExcel/PHPExcel.php";
//实例化PHPExcel类
$objPHPExcel = new PHPExcel();
//加载Excel文件,注意这里路径好像只能使用绝对路径
$reader = PHPExcel_IOFactory::createReader("Excel2007");
//取消报错
$reader->setReadDataOnly(TRUE); //这是默认的
//载入文件
$objPHPExcel = $reader->load($excel_path);
//获取所有工作表的名称
$sheet_arr = $objPHPExcel->getSheetNames(); // $i为需要获取表的编号
return $sheet_arr;
}
//使用方法
$res = get_sheet($excel_path);
print_r($res); //输出为数组,获取到的表格名称为数组元素

除此之外,getsheets函数还可以帮助我们快速的遍历整个Excel文件。如下:

$sheetIndex = 0;
$objPHPExcel = PHPExcel_IOFactory::load($excel_path);
$sheetData = $objPHPExcel->getSheet($sheetIndex)->toArray(null,true,true,true);
foreach ($sheetData as &$v) {
$v = array_map('trim', $v);
}

getsheets函数返回的结果为一个数组,其包含了指定Excel文件中的所有表的名称。我们可以在读取Excel文件的时候,通过指定表的名称的方式读取表格内的数据,避免因为其他无法使用的表随意读取而导致的错误。值得注意的是,如果该函数所返回的结果为空,则很有可能是Excel文件不存在或者文件地址输入错误。