PHP Excel에서 테이블 인코딩을 설정하는 방법: 먼저 PHPExcel을 다운로드한 다음 EXCEL을 생성하고 마지막으로 인코딩을 설정하고 "function gbkToUtf8($gbk){...}" 메서드를 통해 잘못된 문제를 해결합니다.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP Excel에서 테이블 인코딩을 설정하는 방법은 무엇입니까?
PHPExcel 엑셀 테이블 내보내기 및 한자 깨짐 해결
직접 읽기 위해 작성한 글입니다. 찾아보실 수 있는 분들은 운명의 사람들입니다~
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!