php require 输出乱码,php输出excel乱码怎么办
php输出excel乱码的解决办法:首先打开相应的PHP文件;然后在“header()”前面加上“ob_end_clean()”函数,清除缓冲区即可解决乱码问题。
本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。
完美解决phpexcel导出到xls文件出现乱码的问题
下面小编就为大家带来一篇完美解决phpexcel导出到xls文件出现乱码的问题。
解决方法如下所示:<?php
include 'global.php';
$ids = $_GET['ids'];
$sql = "select * from crm_cost_end where id in ( {$ids} )";
$result = $db->findAll($sql);
//echo $result[1]['sn'];
//创建一个excel对象
$objPHPExcel = new PHPExcel();
// Set properties
$objPHPExcel->getProperties()->setCreator("ctos")
->setLastModifiedBy("ctos")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
->setKeywords("office 2007 openxml php")
->setCategory("Test result file");
//set width
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(50);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(12);
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(30);
//设置行高度
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(22);
$objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(20);
//set font size bold
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(10);
$objPHPExcel->getActiveSheet()->getStyle('A2:J2')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A2:J2')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('A2:J2')->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//设置水平居中
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('F')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('G')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('H')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('I')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//
$objPHPExcel->getActiveSheet()->mergeCells('A1:J1');
// set table header content
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '订单数据汇总 时间:' . date('Y-m-d H:i:s'))
->setCellValue('A2', '订单ID')
->setCellValue('B2', '下单人')
->setCellValue('C2', '客户名称')
->setCellValue('D2', '下单时间')
->setCellValue('E2', '需求机型')
->setCellValue('F2', '需求数量')
->setCellValue('G2', '需求交期')
->setCellValue('H2', '确认BOM料号')
->setCellValue('I2', 'PMC确认交期')
->setCellValue('J2', 'PMC交货备注');
// Miscellaneous glyphs, UTF-8
for ($i = 0; $i < count($result) - 1; $i++) {
$objPHPExcel->getActiveSheet(0)->setCellValue('A' . ($i + 3), $result[$i]['id']);
$objPHPExcel->getActiveSheet(0)->setCellValue('B' . ($i + 3), $result[$i]['realname']);
$objPHPExcel->getActiveSheet(0)->setCellValue('C' . ($i + 3), $result[$i]['customer_name']);
$objPHPExcel->getActiveSheet(0)->setCellValue('D' . ($i + 3), $OrdersData[$i]['create_time']);
$objPHPExcel->getActiveSheet(0)->setCellValue('E' . ($i + 3), $result[$i]['require_product']);
$objPHPExcel->getActiveSheet(0)->setCellValue('F' . ($i + 3), $result[$i]['require_count']);
$objPHPExcel->getActiveSheet(0)->setCellValue('G' . ($i + 3), $result[$i]['require_time']);
$objPHPExcel->getActiveSheet(0)->setCellValue('H' . ($i + 3), $result[$i]['product_bom_encoding']);
$objPHPExcel->getActiveSheet(0)->setCellValue('I' . ($i + 3), $result[$i]['delivery_time']);
$objPHPExcel->getActiveSheet(0)->setCellValue('J' . ($i + 3), $result[$i]['delivery_memo']);
$objPHPExcel->getActiveSheet()->getStyle('A' . ($i + 3) . ':J' . ($i + 3))->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('A' . ($i + 3) . ':J' . ($i + 3))->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getRowDimension($i + 3)->setRowHeight(16);
}
// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('订单汇总表');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Redirect output to a client's web browser (Excel5)
ob_end_clean();//清除缓冲区,避免乱码
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="订单汇总表(' . date('Ymd-His') . ').xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
?>
在header() 前面加上ob_end_clean() 函数,清除缓冲区, 这样就不会乱码了!
【推荐:《PHP视频教程》】
php require 输出乱码,php输出excel乱码怎么办相关推荐
- Python 抓取网页乱码问题 以及EXCEL乱码
import codecs f1=codecs.open('items.json', 'r', encoding='utf-8').read().decode("unicode_escape ...
- java输出csv文件在excel中显示乱码
2019独角兽企业重金招聘Python工程师标准>>> 输出了utf-8的csv文件,在excel显示乱码,后来百度,查到缺少bom标志;需要其在文件输出之前先输出bom标志. os ...
- 解决java以UTF-8输出中文时,Excel打开多语言文件乱码但是记事本打开却正常的问题
解决java以UTF-8输出中文时,Excel打开多语言文件乱码但是记事本打开却正常的问题 public static boolean exportCsv(File file, List dataLi ...
- php 页面上显示xls文档,phpExcel输出xls文档显示乱码的解决方法
phpExcel输出xls文档显示乱码的解决办法 最近在做一些报表的系统,主要是对excel的读取和处理操作. 之前在自己的机器上做开发的时候,没有出现乱码的情况, 即使是我布置到服务器上,导入,导出 ...
- php打印出来乱码_PHP输出中文乱码的解决方法(转载)
最近在windows上发现PHP程序中输出来的中文有乱码的情况. 看了很多帖子资料说可以在页面上添加: http://www.cnblogs.com/leandro/archive/2008/04/2 ...
- 【开发环境】Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出 GB2312 格式处理中文乱码 | \r\n换行 | Runtime 执行 Cmd 命令 )
文章目录 Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 1.生成 bat 脚本注意事项 2.Java 执行 Cmd 命令 3.完整代码示例 4.执行结果 Java 文件生成 ...
- python画图显示中文乱码_解决Python pandas plot输出图形中显示中文乱码问题
解决方式一: import matplotlib #1. 获取matplotlibrc文件所在路径 matplotlib.matplotlib_fname() #Out[3]: u'd:\\Anaco ...
- python3 输出中文、日文等等乱码问题的解决办法
python3 输出中文.日文等等乱码问题的解决办法 参考文章: (1)python3 输出中文.日文等等乱码问题的解决办法 (2)https://www.cnblogs.com/loren88089 ...
- 解决使用Ajax 前台提交表单到后台,但输出为问号的中文乱码情况
解决使用Ajax 前台提交表单到后台,但输出为问号的中文乱码情况 情况如下: 在web.xml文件中已经配置了,如下的spring的Filter <filter><filter-na ...
最新文章
- struts2教程(6)--国际化处理
- weblogic创建域后启动不了_摩托车淋雨后启动不了什么原因?如何解决?
- linux操作系统之竞态条件(时序竞态)
- Linux文件系统结构
- [翻译] ASP.NET MVC Framework控制器操作安全性
- Java_基础—List集合存储学生对象并遍历
- android代码设置点击涟漪,android – 为自定义CompoundButton添加涟漪效果
- 节假日查询API接口上线
- 【Excel从头开始】-2 快速填充/快速分析
- Linux系统GPU压力测试
- 苹果开发者申请-创建证书签名请求
- idea去掉拼写检查
- Android系统驱动介绍
- mysql不能使用 mysql -u root -p 启动报错解决
- C++经典算法题-循序搜寻法(使用卫兵)
- vue3.0的多种写法,你喜欢哪种呢?
- Nginx防止大流量攻击,限制流量访问(limit_req_zone模块)以及进行网站压力测试
- 五种蓝牙耳机,到底谁才是你的菜
- mysql 主键 sql语句_Mysql 增加主键或者修改主键的sql语句操作
- 翻转——C++青少年一级考资料
热门文章
- .NET应用跨域问题解决方案
- Jzoj P4253 QYQ在艾泽拉斯___强连通分量缩点+拓扑序dp
- 安装keepalived所需rpm包安装顺序以及离线下载rpm包方式
- STM32寄存器_GPIO操作
- 编写USB鼠标驱动程序
- 麻雀搜索算法(SSA)文章复现:《融合K_means的多策略改进麻雀搜索算法研究_欧阳城添》
- jenkins安装插件使用清华源
- Redis 哨兵模式实现主从故障互切换
- 如何理解静态语言和动态语言
- 每个苹果0.8元,第一天买两个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果个数达到不超过100的最大值,编写程序求每天平均花费多少钱?