解决php下载excel无法打开的问题

发布时间:2020-02-16编辑:脚本学堂
使用php代码下载的excel文件无法打开,有可能是格式错误或文件损坏,也可能输出时数据错误,这里分享下正确的下载方法,供大家参考。

本节内容:
php下载excel后无法打开的解决方法和注意事项。
 
php下载excel文件,无法打开的原因分析:
1、在下载的过程中不要 输出任何非文件信息,比如 echo log信息。
否则下载后的文件无法打开,提示格式错误或者文件被破坏。
2、 输出的excel格式一定要和后缀名保存一直,否也会提示格式错误或者文件被破坏。

可以按如下示例,进行excel文件的正确下载。
例子:
 

复制代码 代码示例:
<?php
/**
* php代码实现excel文件下载
* edit: www.jb200.com
*/
if (file_exists(CACHE_PATH . $file_name)){
            //$this->logger->error('file realpath:'.realpath(CACHE_PATH . $file_name));
      header( 'Pragma: public' );
      header( 'Expires: 0' );
      header( 'Content-Encoding: none' );
      header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' );
      header( 'Cache-Control: public' );
   header( 'Content-Type: application/vnd.ms-excel'); 
      header( 'Content-Description: File Transfer' );
      header( 'Content-Disposition: attachment; filename=' . $file_name );
      header( 'Content-Transfer-Encoding: binary' );
      header( 'Content-Length: ' . filesize ( CACHE_PATH . $file_name ) );
      readfile ( CACHE_PATH . $file_name );
  } else {
   $this->logger->error('export model :'.$id.' 错误:未生产文件');
      echo '<script>alert('export error, file not exists!')</script>';
  }

>>> 您可能感兴趣的文章:
使用PHPExcel判别和格式化Excel中的日期格式的例子
phpExcel中文帮助手册(知识点)
phpexcel快速开发指南(不错)
phpexcel导入excel到数据库的代码
phpexcel导出数据的实例代码
phpexcel类库实例 支持(excel2003 excel2007)
PHPExcel读取excel文件的例子
phpexcel导出excel的经典实例
phpExcel类的使用方法分享
PHPExcel常用方法举例
phpExcel实现的excel操作类