Home > Article > Backend Development > How to set table encoding in php excel
php excel method to set table encoding: first download PHPExcel; then create an EXCEL; finally set the encoding through the "function gbkToUtf8($gbk){...}" method and solve the garbled problem.
The operating environment of this article: Windows7 system, PHP7.1 version, DELL G3 computer
php How to set table encoding in excel?
PHPExcel export excel table and solution to Chinese garbled characters
This is what I wrote for my own reading. It will be updated continuously. All I can find are destined people~
GitHub download address: 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; }
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to set table encoding in php excel. For more information, please follow other related articles on the PHP Chinese website!