[請益] PHPExcel 匯出問題(已解決)

作者: mango314 (Mine)   2014-07-26 12:34:47
版上各位先進好
我是剛進入PHP這塊領域不久的新手
最近在試PHPExcel這套件
在測試資料匯出的過程中可以順利將資料寫入excel檔
但是當資料過多時,產生的excel檔在第一次開啟時會顯示錯誤訊息:
"Excel在 'xxx.xlsx' 中發現無法讀取的內容。您是否要回復此活頁簿的內容?
如果您信任此活頁簿的來源,請按一下「是」"
按"是"之後雖然可以順利恢復文件,但是這問題卻使我十分困擾,因為這並非正常現象
有找到與我問題相近的討論: http://ppt.cc/KW36
裡面提到的解法有試過但仍無法解決
此外當資料量過多時,在匯出的過程會變很久
簡單整理一下我遇到的問題:
(1) 寫入excel的資料筆數過多時開啟會顯示警示訊息,回復文件方能正常
(2) 資料筆數過多時,網頁讀取緩慢
因此想請教版上有使用過此一套件的先進們
在匯出多筆資料時是否會有問題?又或著是我code寫的關係導致這些問題?
以下是我寫入excel的code,由於剛學習不久,不確定此一作法是否正確
$rowOfWrite = 2;//從表格第二列開始寫入
while ($rowOfData = $result->fetch_assoc()) {
for($i=0; $i < count($db_field); $i++){
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue($fieldArray[$i] . $rowOfWrite,
$rowOfData[$db_field[$i]]);
$objPHPExcel->getActiveSheet()
->getColumnDimension($fieldArray[$i])
->setWidth(24);
$objPHPExcel->getActiveSheet()
->getStyle($fieldArray[$i].$rowOfWrite)
->applyFromArray($styleArrayOfData);
}
$rowOfWrite++;
}
$result->free();
在煩請版上各位先進為我解惑
另外如有發現寫法上的問題,也再請各位給予指點建議,謝謝
作者: hit1205 (幫你把勇氣裝滿)   2014-07-26 15:08:00
有沒有可能是筆數多的時候PHP有產生錯誤訊息,導致錯誤訊息一起被寫進去 XD?
作者: mango314 (Mine)   2014-07-27 00:03:00
我有先試過下面a大的方法,也將讀出的資料echo出來看過,但未顯示任何錯誤訊息,感謝你的建議,我在思考看看~

Links booklink

Contact Us: admin [ a t ] ucptt.com