phpExcel匯出excel的兩個有關問題

來源:互聯網
上載者:User
phpExcel匯出excel的兩個問題
Notice: iconv_strlen() [function.iconv-strlen]: Detected an illegal character in input string in E:\test\PHPnow-1.5.6\vhosts\127.0.0.18\inc\PHPExcel\PHPExcel\Shared\String.php on line 554

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16 bytes) in E:\test\PHPnow-1.5.6\vhosts\127.0.0.18\inc\PHPExcel\PHPExcel\Cell.php on line 840

本地調試的時候出現的,請問該怎麼解決呢? phpexcel預設匯出的編碼是什麼呢?資料庫的編碼是GBK的。
原始碼有500多行(菜鳥PHPER)就不貼了。
針對第二個問題在網上找了下,加了這兩句還是沒用
set_time_limit(900);
//設定最大記憶體為128M
@ini_set('memory_limit','128M');

在這裡先謝謝大家了


------解決方案--------------------
問題1:
Mb_convert_encoding($html,'UTF8','BIG5'); //將big5轉為utf8
或iconv(gb2312,UTF-8,$要轉的string);

問題2:
你的內存不足,需要修改PHP.ini中允許使用的內存量,改完重啟apache
------解決方案--------------------
第二個問題: 記憶體超出
解決辦法一:
可以通過以下兩個方法修改php運行時的記憶體限制.
在php.ini檔案裡設定memory_limit = 12M(推薦使用,如果擁有這個許可權的話)
?在sites/default/settings.php檔案裡設定ini_set('memory_limit','12M');
解決辦法二:
// 設定緩衝方式,減少對記憶體的佔用
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
$cacheSettings = array (
'cacheTime' => 300
);
PHPExcel_Settings::setCacheStorageMethod ( $cacheMethod, $cacheSettings );

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.