cqingt

工作中频繁会用phpexcel类导入excel文件的数据到数据库,目前常用的excel文件格式有:xls、csv、xlsx。

刚开始,针对xls文件,使用如下程序,能正常运行:

$objReader = PHPExcel_IOFactory::createReader("Excel5"); //创建读入器
$objExcel = $objReader ->load($file); //加载文件
$sheet = $objExcel ->getSheet(0); //读取文件

当文件后缀是xlsx 或者 csv 就会报:the filename xxx is not recognised as an OLE file错误。

原因是不同的后缀文件需要不同的加载方式,完整方案如下:


if (!file_exists($fileName)) {
    die(\'no file!\');
}
$extension = strtolower( pathinfo($fileName, PATHINFO_EXTENSION) );

if ($extension ==\'xlsx\') { $objReader = new PHPExcel_Reader_Excel2007(); $objExcel = $objReader ->load($file); } else if ($extension ==\'xls\') { $objReader = new PHPExcel_Reader_Excel5(); $objExcel = $objReader ->load($file); } else if ($extension==\'csv\') { $PHPReader = new PHPExcel_Reader_CSV(); //默认输入字符集 $PHPReader->setInputEncoding(\'GBK\'); //默认的分隔符 $PHPReader->setDelimiter(\',\'); //载入文件 $objExcel = $PHPReader->load($file); } $sheet = $objExcel ->getSheet(0);

这样就能正常运行了

分类:

技术点:

相关文章:

  • 2021-08-31
  • 2021-04-30
  • 2021-05-25
  • 2021-07-26
  • 2021-09-23
  • 2021-12-25
  • 2021-10-04
  • 2021-10-30
猜你喜欢
  • 2021-10-13
  • 2021-10-07
  • 2021-09-19
  • 2021-09-25
  • 2021-08-13
  • 2021-12-10
相关资源
相似解决方案