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...