php匯出 excel檔案 實現方式

2021-08-03 05:14:27 字數 1871 閱讀 2716

1、第一種方式

使用外掛程式 excel實現

public function getexport()

$xls->addsheet("info",$ainfo);

$contents = $xls->generatexml('info.xls');//建立xml檔案

exit;

}

public function postvisitexport()

//生成csv檔案

$elsfile = $exportdir.$sname.'.csv';

$fp = fopen($elsfile, 'w');

$data = "";

$title = implode(',', array('id','姓名','年齡','性別','新增時間'));

$data = $title;

foreach($ouser as $v)

$data = iconv("utf-8", "gbk//translit", $data);

fwrite($fp,$data); // 寫入資料

fclose($fp); //關閉檔案控制代碼

$download_dir = "/exportfile/".$dataname.'/'.$sname.'.csv';

return $download_dir;

}

3、原生匯出方式二

直接輸出

public function getdebatevideo()

$file_str= iconv("utf-8",'gbk//translit',$file_str);

ob_end_clean();

echo $header_str;

echo $file_str;

}

原生匯出方式,需要對特殊字串進行轉換

1)使用iconv函式

iconv是c語言中的iconv的包裝,執行效率高,但由於實現方式不一樣,不同平台可能出現不同轉碼效果。

//對於一些無法識別的特殊字串或表情符號等,使用ignore 忽略輸出

$file_str= iconv("utf-8",'gbk//ignore',$file_str);

2)使用mb_convert_encoding

mb_convert_encoding是php擴充套件mbstring的函式,使用時需啟用php 的mbstring擴充套件,轉碼速度也比較慢。

//解決iconv不能轉換的字元,如其他語言符號,使用以下函式

$file_str= mb_convert_encoding($file_str, 'gbk', 'auto');

一般情況下用 iconv,只有當遇到無法確定原編碼是何種編碼,或者iconv轉化後無法正常顯示時才用mb_convert_encoding 函式.

iconv 與 mb_convert_encoding 區別,參考文件:

函式參考文件:

iconv :

mb_convert_encoding :

3)匯出csv**時,實現某個單元格內換行

//將content內容使用雙引號包含,在內替換換行符

$scontent = '你好

world';

$scontent = '"'.str_replace(array(',',' ','

','','

'), array(',',' ',php_eol,php_eol,php_eol), $scontent).'"';

php匯出匯入excel 檔案

php 匯入匯出excel 需要載入excel 類庫 ps 如果匯出檔案打不開時,要檢查一下php.ini 中 在php.ini檔案中,將extension php zip.dll前面的分號 去除,然後同樣在php.ini檔案中,將 zlib.output compression off 改為 zl...

php匯出Excel檔案(無需外掛程式)

一 執行下面 即可 輸出的檔案型別為excel header content disposition attachement filename haoyunyun date ymd xls 報表資料 reportarr array array 1,2,3,4,5 array a b c d e ar...

匯出excel檔案

hssfworkbook filename infoqueryservice.exportmyinfotoexcel infoheaderbo 把資料放到流中 outputstream os response.getoutputstream filename.write os response.fl...