首页  >  文章  >  后端开发  >  php excel怎么设置表格编码

php excel怎么设置表格编码

藏色散人
藏色散人原创
2021-07-15 09:11:462381浏览

php excel设置表格编码的方法:首先下载PHPExcel;然后创建一个EXCEL;最后通过“function gbkToUtf8($gbk){...}”方法设置编码并解决乱码问题即可。

php excel怎么设置表格编码

本文操作环境:Windows7 系统、PHP7.1版,DELL G3电脑

php excel怎么设置表格编码?

PHPExcel导出excel表格及中文乱码解决办法

这是我写来自己看的,会不断更新,能搜到的都是有缘人~

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn