当前位置:Gxlcms > PHP教程 > php excel怎么设置表格编码

php excel怎么设置表格编码

时间:2021-07-01 10:21:17 帮助过:7人阅读

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

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

php excel怎么设置表格编码?

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

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

GitHub下载地址:https://github.com/PHPOffice/PHPExcel

  1. <?php
  2. require_once './PHPExcel/Classes/PHPExcel.php';
  3. //创建一个EXCEL
  4. $objPHPExcel = new PHPExcel();
  5. //设置当前的sheet
  6. $objPHPExcel->setActiveSheetIndex(0);
  7. //设置sheet的name
  8. $getActiveSheet = $objPHPExcel->getActiveSheet();
  9. $getActiveSheet->setTitle('Sheet名称');
  10. //设置单元格的值
  11. $getActiveSheet->setCellValue('A1', '姓名');
  12. $getActiveSheet->setCellValue('B1', '部门');
  13. $getActiveSheet->setCellValue('C1', '工资');
  14. //合并单元格
  15. $getActiveSheet->mergeCells('C1:D1');//横向合并 纵向同理
  16. //设置单元格填充颜色
  17. $getActiveSheet->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
  18. $getActiveSheet->getStyle('A1')->getFill()->getStartColor()->setARGB('000099FF');
  19. //设置字体样式
  20. $getActiveSheet->setCellValue('A2', setMyFontStyle('张三'));
  21. $getActiveSheet->setCellValue('B2', setMyFontStyle('开发部'));
  22. $getActiveSheet->setCellValue('C2', setMyFontStyle('9999'));
  23. //设置文字水平居左(HORIZONTAL_LEFT,默认)、中(HORIZONTAL_CENTER)、右(HORIZONTAL_RIGHT)
  24. $getActiveSheet->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  25. //设置文字垂直居中
  26. $getActiveSheet->getStyle('A1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
  27. //设置自适应宽度
  28. $letter = ['A', 'B', 'C'];
  29. for($z=0;$z<count($letter);$z++){
  30. $getActiveSheet->getColumnDimension($letter[$z])->setAutoSize(true);
  31. }
  32. //设置固定宽度
  33. $getActiveSheet->getColumnDimension('A')->setWidth(20);
  34. //清除缓冲区,不加这句会报错
  35. ob_end_clean();
  36. //输出
  37. header("Pragma: public");
  38. header("Expires: 0");
  39. header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
  40. header("Content-Type:application/force-download");
  41. header("Content-Type:application/vnd.ms-execl");
  42. header("Content-Type:application/octet-stream");
  43. header("Content-Type:application/download");
  44. header('Content-Type:text/html;Charset=utf-8;');
  45. header('Content-Disposition:attachment;filename=表格.xlsx"');
  46. header("Content-Transfer-Encoding:binary");
  47. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
  48. $objWriter->save('php://output');
  49. exit;
  50. //设置字体样式
  51. function setMyFontStyle($text){
  52. $objRichText = new PHPExcel_RichText();
  53. $objRichText->createText("");
  54. $objPayable = $objRichText->createTextRun($text);
  55. $objPayable->getFont()->setBold(true);
  56. $objPayable->getFont()->setItalic(true);
  57. $objPayable->getFont()->setColor( new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_RED ) );
  58. return $objRichText;
  59. }
  60. //解决导出中文乱码,按需使用
  61. function gbkToUtf8($gbk){
  62. $utf8 = iconv('GB2312', 'UTF-8', $gbk);
  63. return $utf8;
  64. }
  65. //解决导出中文乱码,按需使用
  66. function utf8ToGbk($utf8){
  67. $gbk = iconv('UTF-8', 'GB2312', $utf8);
  68. return $gbk;
  69. }

推荐学习:《PHP视频教程》

以上就是php excel怎么设置表格编码的详细内容,更多请关注gxlcms其它相关文章!

人气教程排行