PHP获取xlsx文件的内容

韩阳飙
2023-12-01

PHP获取xlsx文件的内容并且打印

<?php
 function get_xls_data($filePath){
   // $filePath=ROOT_PATH."web\uploads\ceshi.xlsx";
    $time=time(); 
    header("content-type:text/html;charset=utf-8");
    //引入PHPExcel类
    vendor('PHPExcel.PHPExcel');
    vendor('PHPExcel.PHPExcel.IOFactory');
    vendor('PHPExcel.PHPExcel.Reader.Excel5');
    
    $basename = basename($filePath);
    $dirname = dirname($filePath);
 
    //实例化PHPExcel类
    $PHPExcel = new \PHPExcel(); 
    //默认用excel2007读取excel,若格式不对,则用之前的版本进行读取
    $PHPReader = new \PHPExcel_Reader_Excel2007();
    if (!$PHPReader->canRead($filePath)) {
      $PHPReader = new \PHPExcel_Reader_Excel5();
      if (!$PHPReader->canRead($filePath)) {
        echo 'no Excel';
        return;
      }
    }

    //读取Excel文件
    $PHPExcel = $PHPReader->load($filePath);

    //读取excel文件中的第一个工作表
    $sheet = $PHPExcel->getSheet(0);
    //取得最大的列号
    $allColumn = $sheet->getHighestColumn();
    //取得最大的行号
    $allRow = $sheet->getHighestRow();
  
    $RowNum = 0;
    $sheetCount = $PHPExcel->getSheetCount();        //获取多个sheet
    $i=0;  //0表示第一个sheet                                              
 
    $sheet = $PHPExcel->getSheet($i);
    $highestRow = $sheet->getHighestRow();
    $RowNum += $highestRow-1;//计算所有sheet的总行数
    $highestColumn = $sheet->getHighestColumn();
    $start=1;
    for($row = $start;$row <= $highestRow;$row++){
          //把每个sheet作为一个新的数组元素 键名以sheet的索引命名 利于后期数组的提取
          $rowData[] =  arrToOne($sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, TRUE));  
    }  
   return $rowData;
}

//以下是调用方法
$data=get_xls_data("文件路径");
print_r($data);
?>

如有疑问,联系QQ:3456649743

 类似资料: