① php導出excel時經常導出不完整就結束了怎麼辦
設置超時
在伺服器上設置也可以,在當前文件寫代碼也可以
伺服器上找到php安裝目錄下的php.ini
找到max_execution_time這句,將值改為你想要的時間,或者該為0表示無時間限制
如果在當前文件寫代碼
那就在網頁最頂端寫這條php代碼
set_time_limit (0);
括弧內的參數是數字,寫上你想要的時間,比如100就是100秒
0表示無時間限制
② phpExcel 輸出Excel 內存溢出
phpExcel 輸出Excel 內存溢出可以通過代碼來設置不同的緩存方式,已達到降低內存消耗的目的。
工具:office Excel
步驟:
1、將單元格數據序列化後保存在內存中。
代碼如下:
PHPExcel_CachedObjectStorageFactory::cache_in_memory_serialized;
2、將單元格序列化後再進行Gzip壓縮,然後保存在內存中。
代碼如下:
PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip;
3、緩存在臨時的磁碟文件中,速度可能會慢一些。需要耐心等待一會兒。
代碼如下:
PHPExcel_CachedObjectStorageFactory::cache_to_discISAM;
4、保存在php://temp。
代碼如下:
PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
5、保存在memcache中。
代碼如下:
PHPExcel_CachedObjectStorageFactory::cache_to_memcache;
6、設置完成即可達到降低內存消耗的目的。
③ phpexcel導出excel文件損壞怎麼辦
一:臨時解決辦法:修改文件屬性
選擇需要打開的文件,點右鍵屬性裡面選擇"解除鎖定",然後確定後。即可正常打開了。
二:徹底解決辦法:修改選項配置
進入文件菜單中的選項->信任中心->點信任中心設置然後點受保護的視圖,把右邊的所有鉤上的內容都不鉤,最後保存退出即可。
Word/Excel都要設置一下。www.ddooo.com/softdown/11596.htm
④ PHP 導出excel文件響應的內容是一堆亂碼,把這堆亂碼在新的窗口打開,導出的文件是正常的,怎麼解決
導出前最好轉碼下iconv轉成gbk的,資料庫里是utf8的
⑤ 用phpExcel 導出數據超過1萬條瀏覽器假死。求解決方法,或者其他的導出excel類。
解決大量數據,要麼你OOP特別強,寫的非常合理,老話:內聚高,耦合低;要麼就化整為零。本來PHP就不太適合處理特別大的數據。本身程序的健壯性就沒其他語言強。
⑥ php導出excel 一萬多條瀏覽器卡得半死怎麼解決
一萬條數據不算多,但是不知道一條數據大不大,生成文件有多大,分析程序消耗的時間在哪裡,找出瓶頸,是資料庫問題嗎,網路問題嗎,客戶端問題嗎,針對不同原因採取處理。
⑦ PHP導出EXCEL 馬上爆炸了 求解
。。。導入資料庫的excel文件後綴名要為.csv的,好像還有個fgetcsv函數來著,忘了,小時候寫過的 - -
不是csv不會換下名?願文件不想動就能個臨時文件,csv支持各種文本,入庫只需要把握邏輯就行了,沒什麼其他說的。
$row = 1;
$handle = fopen("test.csv","r");
while ($data = fgetcsv($handle, 1000, ",")) {
$num = count($data);
echo "<p> $num fields in line $row: <br>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br>\n";
}
}
fclose($handle);
⑧ php無法導出excel的問題 跪求高人指點。
$filename="模板文件".date("YmdHis").rand(1000,9999);
$filename=iconv("utf-8","gb2312",$filename);
header("Pragma:public");
header("Expires:0");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename='.$filename.'.xls');
header("Content-Transfer-Encoding:binary");
$objWriter->save('php://output');
輸出的時候用上面的頭部和輸出方法,這個問題主要就是瀏覽器不能輸出內容,其他都是好的。如果是php7以上的環境,首先得確認php配置都是沒問題的,然後PHPExcel使用1.8.1就好了。地址在:網頁鏈接
⑨ 用phpexcel導出數據後,為什麼excel打不開
自己寫吧 別用PHPExcel了
//$fileName文件名
//$headArr標題
//$data數據
public function getExcel($fileName,$headArr,$data){
header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename={$fileName}.xls");
header("Pragma: no-cache");
header("Expires: 0");
array_unshift($data,$headArr);
foreach($data as $key => $val){
$data[$key]=implode("\t", $data[$key]);
}
echo iconv('utf-8','gbk',implode("\n",$data));
}
這是我自己寫的 比較簡單
如果需求沒要求導出的excel要排版 設置樣式之類的話
就湊合著用吧