我在Laravel4.2中生成PHPExcel报告时遇到了问题,从数据库获得的行数非常多(超过50万行),因此创建的数组使用大量的PHP内存,在生成最终文件时会导致内存溢出。我尝试使用PHPExcel缓存系统,但它也使用了大量的系统内存。还有什么其他的解决方案吗?我考虑过以部分方式处理记录的创建,例如每次5000行,但我不知道这样做是否会解决我的问题。
用于使用PHPExcel缓存(DiscISAM)的代码:
public function __construct() {
$templateFileName = $this->getTemplateFileName();
我正在使用将数据库查询的结果导出到Excel,例如:
SELECT * FROM members WHERE BranchID=12345
虽然我可以导出行内容,但我(当然)也想要列名。
下面的代码可以导出数据:
<?php
session_start();
require_once'PHPExcel.php';
$branchID=$_SESSION['ITEM'];
$SQL = "SELECT * FROM members WHERE BranchID='$branchID' ORDER BY Type";
// Ex
谁能让我知道,为什么这个错误是从PHPExcel类抛出的
Fatal error: Uncaught exception 'Exception' with message 'Could not close zip file
/var/www/mydomain/myexcel.xlsx.' in /var/www/mydomain/Classes/PHPExcel/Writer
/Excel2007.php:400 Stack trace: #0 /var/www/mydomain/myexcel.php(173):
PHPExcel_Writer_E
当我在本地计算机上保存时,这是有效的,但当我尝试在网络中保存时,它给我一个错误。
Warning: fopen(\\ipcsvs001\c$\myfolder\12122014.xls) [function.fopen]: failed to open stream: Permission denied in C:\wamp\www\receivables\PHPExcel\Shared\OLE\PPS\Root.php on line 90
Fatal error: Uncaught exception 'PHPExcel_Writer_Exception' with me
我在一个名为"Collective Access“的程序中得到以下错误,但我不确定从这里到哪里去,因为我以前从未遇到过这种类型的问题:
PHP Fatal error: Uncaught Error: Class 'ZipArchive' not found in /var/www/html/providence/app/lib/core/Parsers/PHPExcel/PHPExcel/Reader/Excel2007.php:94
Stack trace:
#0 /var/www/html/providence/app/lib/core/Parsers/PHPE
按照这里的安装过程,我刚刚在本地服务器上下载并安装了PHPExcel框架。
但是运行样例测试时,http://localhost/Tests/02types.php总是给我这个错误:
08:10:37 Create new PHPExcel object
08:10:37 Set document properties
08:10:37 Set default font
08:10:37 Add some data
08:10:37 Rename worksheet
08:10:37 Write to Excel2007 format
Fatal error: Uncaught excepti
我刚开始在我的Zend Framework项目中使用PHPExcel,现在我想创建一个多选框,旁边有save to a file按钮,如下所示:
SELECT BOX WITH INFO
-------------------
option1 -
option2 -
. -
. -
. -
-------------------
---------------------------
save to excel file button -
------
我有一个Codeigniter项目,它可以通过上传excel文件并使用PHPExcel读取数据到数据库中。它正在我的本地主机上工作,但是当我把它上传到一个灯服务器上时,它会给我一个错误,,您试图上传的文件类型是不允许的。,我该如何解决这个问题呢?
编辑在我的项目中,我也有一个文件图像上传..。
public function uploadConfig(){
$this->load->library('PHPExcel');
$this->load->library('PHPExcel/IOFactory');