php excel中文名称乱码,phpexcel导出中文文件名乱码的解决办法
使用phpexcel類庫(kù)導(dǎo)出excel文件,文件名為中文時(shí),在chrome瀏覽器下導(dǎo)出正常,在IE內(nèi)核瀏覽器下導(dǎo)出文件名顯示亂碼,解決辦法就是通過(guò)iconv函數(shù)轉(zhuǎn)換編碼,從utf-8轉(zhuǎn)為gb2312,具體代碼如下:
publicfunctionexportExcel($expTitle,$expCellName,$expTableData){ ????$xlsTitle=iconv('utf-8','gb2312',$expTitle);//文件名稱,防止中文亂碼 ????$fileName=$expTitle.date('_YmdHis');//自定義導(dǎo)出文件的中文名稱 ????$fileName=iconv('utf-8','gb2312',$fileName);//顯示的導(dǎo)出文件名稱,如果不加這句則中文文件名亂碼 ????$cellNum=count($expCellName); ????$dataNum=count($expTableData); ????$objPHPExcel=newPHPExcel(); ????$cellName=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ'); ????$objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1'); ????$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1',$expTitle.'?Exporttime:'.date('Y-m-dH:i:s')); ????for($i=0;$isetActiveSheetIndex(0)->setCellValue($cellName[$i].'2',$expCellName[$i][1]); ????} ????//Miscellaneousglyphs,UTF-8 ????for($i=0;$igetActiveSheet(0)->setCellValue($cellName[$j].($i+3),$expTableData[$i][$expCellName[$j][0]]); ????????} ????} ????ob_end_clean();//用來(lái)清除緩沖區(qū)防止導(dǎo)出的excel文件內(nèi)容亂碼 ????header('pragma:public'); ????header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"'); ????header("Content-Disposition:attachment;filename=$fileName.xls"); ????$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007'); ????$objWriter->save('php://output'); ????exit; }
總結(jié)
以上是生活随笔為你收集整理的php excel中文名称乱码,phpexcel导出中文文件名乱码的解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 使用 go函数指针,golang
- 下一篇: 语音聊天室 html,聊天室 - HTM