#この記事の動作環境:Windows7 システム、PHP7.1 バージョン、DELL G3 パソコンphp Excel でテーブルエンコーディングを設定する方法? PHPExcelエクスポートエクセル表と中国語文字化け解決策php Excel でテーブルのエンコードを設定する方法: まず PHPExcel をダウンロードし、次に EXCEL を作成し、最後に「function gbkToUtf8($gbk){...}」メソッドでエンコードを設定し、文字化けの問題を解決します。
<?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 中国語 Web サイトの他の関連記事を参照してください。