`

PHPExcel 在linux下输出excel

    博客分类:
  • php
 
阅读更多
http://blog.c3crm.com/node/820

起初用1.7.6的不行,windows正常,linux无法输出excel..
只好按照上文换用1.7.2...ok了

引用
PHPExcel1.7.2在windows上部署使用没有任何问题,但是在Linux服务器上却遇到了奇怪的问题,一直提示:

Warning: require_once() [function.require-once]: URL using bad/illegal format or missing URL in /var/www/Classes/PHPExcel.php on line 50

经过google搜索,有的同学通过升级到PHP5.3.1版本解决,但易客CRM用的PHP5.2.x,不能通过此方法解决,皇天不负有心人,终于找到了解决方法,原来只需注释掉一行代码即可。

解决方法:
把 PHPExcel.php 文件里面的 require_once ‘PHPExcel/Shared/ZipStreamWrapper.php’; 这行代码注释掉即可,估计和zip相关的程序有关。

在此感谢Google和PHPChina。

PS:易客CRM中有关Excel的处理将全部转向PHPExcel库。


看了看PHPExcel 1.7.6的install.txt...原来是要输出Excel2007格式的xsx,要有php_zip的支持.
要有php_zip模块....
http://blog.csdn.net/binger819623/article/details/6228968
http://yang2001.blog.51cto.com/25307/212322
http://hi.baidu.com/ubuntu2me/blog/item/c41a0211920464f0c3ce79d1.html
引用

1、依次运行以下命令:
wget http://pecl.php.net/get/zip-1.8.10.tgz  //貌似已经出新版本了zip1.10.2.tgz
tar zxvf zip-1.8.3.tgz
cd zip-1.8.3
/usr/local/php/bin/phpize   (对应的phpize路径)(安装好的php位置)
configure --with-php-config=/usr/local/php/bin/php-config (对应的php-config路径)(php-config文件名不能更改)
make
make install
//此时会在zip/modules/下生成一个zip.so文件,将它拷贝到make之后给的一个路径下,如有同名的,覆盖之。

2、生成的模块路径:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/zip.so   (对应的extensions路径)

3、修改php.ini
extension_dir = "./"修改为extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/"
增加extension=zip.so

4、重启apache
apache2/bin/apachectl restart

==========================================

php 利用ZipArchive 实现文件打包



$filename = "./test/test.zip"; //最终生成的 文件名(含路径)  
if(!file_exists($filename)){  
    //重新生成文件  
    $zip = new ZipArchive();//使用本 类,linux需开启 zlib,windows需取消php_zip.dll前的注释  
    if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {  
        exit('无法打开文件,或 者文件创建失败');  
     }  
    foreach( $datalist as $val){  
        $attachfile = $attachmentDir . $val['filepath'];    //获取原始 文件路径  
        if(file_exists($attachfile)){  
            $zip->addFile( $attachfile , basename($attachfile));//第二个参 数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下  
         }  
     }  
    $zip->close();//关闭  
}  
if( !file_exists($filename)){  
    exit("无法找到文件"); //即使创建,仍有可能失败。。。。  
}  
header("Cache-Control: public");   
header("Content-Description: File Transfer");   
header('Content-disposition: attachment; filename='.basename($filename)); //文件名  
header("Content-Type: application/zip"); //zip格式的  
header("Content-Transfer-Encoding: binary");    //告诉浏览 器,这是二进制文件   
header('Content-Length: '. filesize($filename));    //告诉浏览 器,文件大小  
@readfile($filename); 
 
分享到:
评论

相关推荐

    php实现利用phpexcel导入导出数据至excel

    2,导入时候请按照xls/demo.xls的格式导入,在linux系统下 xls目录要有下的权限; 3, 默认只有一条数据,导出至少有一条数据; 4,如果数据不超过5W条,无需分割; 5,没有做文件大小,文件类型等判断; 6, 支持导入/...

    PHPExcel在linux环境下导出报500错误的解决方法

    然而,当在Linux环境下使用PHPExcel进行文件导出时,可能会遇到HTTP 500错误,这通常意味着服务器遇到了无法处理的异常情况。下面,我们将深入探讨这个问题的原因以及解决方法。 首先,HTTP 500错误是一个通用的...

    PHPExcel1.8

    在标题中提到的"PHPExcel1.8"指的是这个库的一个特定版本,它为开发者提供了在服务器端处理Excel数据的强大功能,尤其适用于Web应用程序。这个版本在PHP 5.4环境下经过验证可以正常运行,这意味着它兼容PHP 5.4及...

    ThinkPHP导出Excel类库加控制器

    总结来说,ThinkPHP中导出Excel的过程主要包括:将类库放置在正确的目录、创建控制器、在控制器中构建数据导出逻辑以及设置正确的HTTP响应头。通过这种方式,我们可以方便地将动态生成的数据导出为Excel文件,供用户...

    PHP excel通用成绩查询系统 v7.8 SAE版.zip

    使用的是PHPexcel查询Excel,测试可用,可能速度偏慢(千条数据无影响) 直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。 当然LINUX可能xls文件可以倍下载,如果保密数据,请做防下载处理哦...

    phpexcel导出excel的颜色和网页中的颜色显示不一致

    在使用PHPExcel库进行Excel文件导出时,用户可能会遇到一个常见问题:导出的Excel文件中颜色的显示与网页中设置的颜色不一致。这可能是由于多种原因造成的,包括颜色值的表示方式、字体或单元格样式设置不正确,以及...

    php excal 导入导出 绝对好用

    2,导入时候请按照xls/demo.xls的格式导入,在linux系统下 xls目录要有下的权限; 3, 默认只有一条数据,导出至少有一条数据; 4,如果数据不超过5W条,无需分割; 5,没有做文件大小,文件类型等判断; 6, 支持导入/...

    PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法

    PHP在本机可以正常导出Excel,在上Linux就提示ERR_EMPTY_RESPONSE,下面说一下怎么不降版本还能正常导出Excel,解决上面的问题。 使用导出Excel的时候显示错误页面提示如下,这时候发现上传Excel都可以正常读取数据...

    php编写的excel2007文件快速导出程序

    本程序适用于linux下使用php5快速大量的导出数据到excel2007格式文件,在x86的linux环境下测试导出60000条记录大约需要17秒,占用内存小,且导出速度和记录数基本呈线性同步增长。 phpexcel是功能相当强大的模块,但...

    PHP+excel通用成绩查询系统 v7.8 SAE版

    使用的是PHPexcel查询Excel,测试可用,可能速度偏慢(千条数据无影响)直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。当然LINUX可能xls文件可以倍下载,如果保密数据,请做防下载处理哦。sae...

    PHP excel通用成绩查询系统 v2018.rar

    使用的是PHPexcel查询Excel,测试可用,可能速度偏慢(千条数据无影响) 直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。 目前尚未兼容linux系统,所以大家请用windows系统的PHP环境使用。 ...

    20200912.rar

    2,导入时候请按照xls/demo.xls的格式导入,在linux系统下 xls目录要有下的权限; 3, 默认只有一条数据,导出至少有一条数据; 4,如果数据不超过5W条,无需分割; 5,没有做文件大小,文件类型等判断; 6, 支持导入/...

    在PHP中操作Excel实例代码

    脚本文件应当保存在Web服务器的htdocs目录下,并通过浏览器访问脚本页面来执行上述操作。 需要注意的是,由于COM组件仅适用于Windows平台,如果服务器运行的是Linux或其他非Windows系统,那么这种方法将无法使用。...

    PHP+excel通用成绩查询系统-PHP

    使用的是PHPexcel查询Excel,测试可用,可能速度偏慢(千条数据无影响)直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。当然LINUX可能xls文件可以倍下载,如果保密数据,请做防下载处理哦。1....

    PHP+excel通用成绩查询系统

    使用的是PHPexcel查询Excel,测试可用,可能速度偏慢(千条数据无影响) 直接查询Excel数据的第一个表,修改表格后FTP上传,快速搞定,非常方便。 当然LINUX可能xls文件可以倍下载,如果保密数据,请做防下载处理哦。 ...

Global site tag (gtag.js) - Google Analytics