ホームページ  >  記事  >  バックエンド開発  >  PHP Excelでテーブルエンコーディングを設定する方法

PHP Excelでテーブルエンコーディングを設定する方法

藏色散人
藏色散人オリジナル
2021-07-15 09:11:462438ブラウズ

php Excel でテーブルのエンコードを設定する方法: まず PHPExcel をダウンロードし、次に EXCEL を作成し、最後に「function gbkToUtf8($gbk){...}」メソッドでエンコードを設定し、文字化けの問題を解決します。

PHP Excelでテーブルエンコーディングを設定する方法

#この記事の動作環境:Windows7 システム、PHP7.1 バージョン、DELL G3 パソコン

php Excel でテーブルエンコーディングを設定する方法?

PHPExcelエクスポートエクセル表と中国語文字化け解決策


これは自分の読み物として書いたものです、随時更新していきます、運命の人ばかりですよ~

GitHub ダウンロード アドレス: https://github.com/PHPOffice/PHPExcel

<?php
require_once &#39;./PHPExcel/Classes/PHPExcel.php&#39;;
//创建一个EXCEL
$objPHPExcel = new PHPExcel(); 
//设置当前的sheet
$objPHPExcel->setActiveSheetIndex(0);
//设置sheet的name
$getActiveSheet = $objPHPExcel->getActiveSheet();
$getActiveSheet->setTitle(&#39;Sheet名称&#39;);
//设置单元格的值
$getActiveSheet->setCellValue(&#39;A1&#39;, &#39;姓名&#39;);
$getActiveSheet->setCellValue(&#39;B1&#39;, &#39;部门&#39;);
$getActiveSheet->setCellValue(&#39;C1&#39;, &#39;工资&#39;);
//合并单元格
$getActiveSheet->mergeCells(&#39;C1:D1&#39;);//横向合并 纵向同理
//设置单元格填充颜色
$getActiveSheet->getStyle(&#39;A1&#39;)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$getActiveSheet->getStyle(&#39;A1&#39;)->getFill()->getStartColor()->setARGB(&#39;000099FF&#39;);
//设置字体样式
$getActiveSheet->setCellValue(&#39;A2&#39;, setMyFontStyle(&#39;张三&#39;));
$getActiveSheet->setCellValue(&#39;B2&#39;, setMyFontStyle(&#39;开发部&#39;));
$getActiveSheet->setCellValue(&#39;C2&#39;, setMyFontStyle(&#39;9999&#39;));
//设置文字水平居左(HORIZONTAL_LEFT,默认)、中(HORIZONTAL_CENTER)、右(HORIZONTAL_RIGHT)
$getActiveSheet->getStyle(&#39;A1&#39;)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//设置文字垂直居中
$getActiveSheet->getStyle(&#39;A1&#39;)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
//设置自适应宽度
$letter = [&#39;A&#39;, &#39;B&#39;, &#39;C&#39;];
for($z=0;$z<count($letter);$z++){
$getActiveSheet->getColumnDimension($letter[$z])->setAutoSize(true);
}
//设置固定宽度
$getActiveSheet->getColumnDimension(&#39;A&#39;)->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(&#39;Content-Type:text/html;Charset=utf-8;&#39;);
header(&#39;Content-Disposition:attachment;filename=表格.xlsx"&#39;);
header("Content-Transfer-Encoding:binary");
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, &#39;Excel2007&#39;);
$objWriter->save(&#39;php://output&#39;);
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(&#39;GB2312&#39;, &#39;UTF-8&#39;, $gbk);
return $utf8;
}
//解决导出中文乱码,按需使用
function utf8ToGbk($utf8){
$gbk = iconv(&#39;UTF-8&#39;, &#39;GB2312&#39;, $utf8);
return $gbk;
}

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHP Excelでテーブルエンコーディングを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。