php excel設定表格編碼的方法:先下載PHPExcel;然後建立一個EXCEL;最後透過「function gbkToUtf8($gbk){...}」方法設定編碼並解決亂碼問題即可。
本文操作環境:Windows7 系統、PHP7.1版,DELL G3電腦
php excel怎麼設定表格編碼?
PHPExcel匯出excel表格及中文亂碼解決方法
這是我寫來自己看的,會不斷更新,能搜到的都是有緣人~
GitHub下載網址:https://github.com/PHPOffice/PHPExcel
<?php require_once './PHPExcel/Classes/PHPExcel.php'; //创建一个EXCEL $objPHPExcel = new PHPExcel(); //设置当前的sheet $objPHPExcel->setActiveSheetIndex(0); //设置sheet的name $getActiveSheet = $objPHPExcel->getActiveSheet(); $getActiveSheet->setTitle('Sheet名称'); //设置单元格的值 $getActiveSheet->setCellValue('A1', '姓名'); $getActiveSheet->setCellValue('B1', '部门'); $getActiveSheet->setCellValue('C1', '工资'); //合并单元格 $getActiveSheet->mergeCells('C1:D1');//横向合并 纵向同理 //设置单元格填充颜色 $getActiveSheet->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); $getActiveSheet->getStyle('A1')->getFill()->getStartColor()->setARGB('000099FF'); //设置字体样式 $getActiveSheet->setCellValue('A2', setMyFontStyle('张三')); $getActiveSheet->setCellValue('B2', setMyFontStyle('开发部')); $getActiveSheet->setCellValue('C2', setMyFontStyle('9999')); //设置文字水平居左(HORIZONTAL_LEFT,默认)、中(HORIZONTAL_CENTER)、右(HORIZONTAL_RIGHT) $getActiveSheet->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); //设置文字垂直居中 $getActiveSheet->getStyle('A1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); //设置自适应宽度 $letter = ['A', 'B', 'C']; for($z=0;$z<count($letter);$z++){ $getActiveSheet->getColumnDimension($letter[$z])->setAutoSize(true); } //设置固定宽度 $getActiveSheet->getColumnDimension('A')->setWidth(20); //清除缓冲区,不加这句会报错 ob_end_clean(); //输出 header("Pragma: public"); header("Expires: 0"); header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); header("Content-Type:application/force-download"); header("Content-Type:application/vnd.ms-execl"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download"); header('Content-Type:text/html;Charset=utf-8;'); header('Content-Disposition:attachment;filename=表格.xlsx"'); header("Content-Transfer-Encoding:binary"); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('php://output'); exit; //设置字体样式 function setMyFontStyle($text){ $objRichText = new PHPExcel_RichText(); $objRichText->createText(""); $objPayable = $objRichText->createTextRun($text); $objPayable->getFont()->setBold(true); $objPayable->getFont()->setItalic(true); $objPayable->getFont()->setColor( new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_RED ) ); return $objRichText; } //解决导出中文乱码,按需使用 function gbkToUtf8($gbk){ $utf8 = iconv('GB2312', 'UTF-8', $gbk); return $utf8; } //解决导出中文乱码,按需使用 function utf8ToGbk($utf8){ $gbk = iconv('UTF-8', 'GB2312', $utf8); return $gbk; }
推薦學習:《PHP影片教學》
以上是php excel怎麼設定表格編碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!