• 技术文章 >后端开发 >PHP问题

    php excel怎么设置表格编码

    藏色散人藏色散人2021-07-15 09:11:46原创64

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

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

    php excel怎么设置表格编码?

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

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

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

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php
    上一篇:php浏览器怎么显示错误提示 下一篇:php怎么输出sql执行错误信息
    VIP会员

    相关文章推荐

    • php怎么修改文件所有者• 深入了解PHP中的缓存技术• 一文了解PHP中的享元模式• php浏览器怎么显示错误提示

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网