在header() 前面加上ob_end_clean() 函数, 清除缓冲区, 这样就不会乱码了!

<?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();
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(); //设置行高度
$objPHPExcel->getActiveSheet()->getRowDimension('')->setRowHeight(); $objPHPExcel->getActiveSheet()->getRowDimension('')->setRowHeight(); //set font size bold
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize();
$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()
->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 = ; $i < count($result) - ; $i++) {
$objPHPExcel->getActiveSheet()->setCellValue('A' . ($i + ), $result[$i]['id']);
$objPHPExcel->getActiveSheet()->setCellValue('B' . ($i + ), $result[$i]['realname']);
$objPHPExcel->getActiveSheet()->setCellValue('C' . ($i + ), $result[$i]['customer_name']);
$objPHPExcel->getActiveSheet()->setCellValue('D' . ($i + ), $OrdersData[$i]['create_time']);
$objPHPExcel->getActiveSheet()->setCellValue('E' . ($i + ), $result[$i]['require_product']);
$objPHPExcel->getActiveSheet()->setCellValue('F' . ($i + ), $result[$i]['require_count']);
$objPHPExcel->getActiveSheet()->setCellValue('G' . ($i + ), $result[$i]['require_time']);
$objPHPExcel->getActiveSheet()->setCellValue('H' . ($i + ), $result[$i]['product_bom_encoding']);
$objPHPExcel->getActiveSheet()->setCellValue('I' . ($i + ), $result[$i]['delivery_time']);
$objPHPExcel->getActiveSheet()->setCellValue('J' . ($i + ), $result[$i]['delivery_memo']);
$objPHPExcel->getActiveSheet()->getStyle('A' . ($i + ) . ':J' . ($i + ))->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('A' . ($i + ) . ':J' . ($i + ))->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getRowDimension($i + )->setRowHeight();
} // Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('订单汇总表'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(); // 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');
?>

见红色位置处

.

phpexcel 导出到xls文件的时候出现乱码解决的更多相关文章

  1. 使用phpexcel导出到xls文件的时候出现乱码解决

    <?php include 'global.php'; $ids = $_GET['ids']; $sql = "select * from crm_cost_end where id ...

  2. element ui 上传文件,读取内容乱码解决

    element ui 上传文件,读取内容乱码解决: 加第二个参数 reader.readAsText(file.raw,'gb2312'); <el-upload class="upl ...

  3. php中使用PHPExcel操作excel(xls)文件

    读取中文的xls.csv文件会有问题,网上找了下资料,发现PHPExcel类库好用,官网地址:http://phpexcel.codeplex.com/ 1.读取xls文件内容  代码如下 复制代码 ...

  4. php中使用PHPExcel读写excel(xls)文件的方法

    首先从GitHub上下载 excel的相关类库 下载地址:https://github.com/PHPOffice/PHPExcel 以下是从excel中获取数据 <?php /** * * @ ...

  5. 用DataGridView导入TXT文件,并导出为XLS文件

    使用 DataGridView 控件,可以显示和编辑来自多种不同类型的数据源的表格数据.也可以导出.txt,.xls等格式的文件.今天我们就先介绍一下用DataGridView把导入txt文件,导出x ...

  6. 导出csv xls文件数字会自动变科学计数法的解决方式

    将数据导出excel文件变成科学计数法问题:     分析: 用程序导出的csv文件,当字段中有比较长的数字字段存在时,在用excel软件查看csv文件时就会变成科学技术法的表现形式.    其实这个 ...

  7. 关于PHPExcel 导出下载表格,调试器响应乱码

    PHPExcel导出表格是日常程序开发很常见的一功能,有些小伙伴千辛万苦把代码写好之后,运行一下结果发现浏览器没反应,表格下载不了或者表格乱码!!!像这种情况有三种解决方法: 1.在header 之前 ...

  8. struts使用html:file上传文件的时候文件名乱码解决

    <body> <html:form action="/jwid/struts1x/15.3/form/upload.do?action=upload" encty ...

  9. Vim的行号、语法显示等设置(.vimrc文件的配置)以及乱码解决

    在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号.语法高亮度显示.智能缩进 等功能的.为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc.在启动vim时,当前用户 ...

随机推荐

  1. 一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS

    一台服务器,两个域名 首先购买https,获取到CA证书,两个域名就得到两套证书 第二步:现在就是Nginx和OpenSSL的安装与配置(这里注意,一般情况下一个IP只支持一个SSL证书,那么我们现在 ...

  2. [转帖]UEFI和BIOS

    UEFI和Legacy及UEFI+Legacy启动的区别 https://www.cnblogs.com/net5x/p/6850801.html 一直给人装系统 但是连这些最基本的都不知道 感觉自己 ...

  3. iphone 与 PC端电脑投屏设置

    1. iphone端安装: 屏幕投影助手 下载地址 https://itunes.apple.com/cn/app/ping-mu-tou-ying-zhu-shou/id1152332174?mt= ...

  4. Fidder 网络抓包调试工具

    可参考文章:[HTTP]Fiddler(二) - 使用Fiddler做抓包分析 fiddler2抓包工具使用图文教程

  5. datatime

    /把一个日期字符串如“2007-2-28 10:18:30”转换为Date对象 var   strArray=str.split("   "); var   strDate=str ...

  6. hive web界面管理

    老版本使用 访问<Hive Server Address>:9999/hwi 1.首先下载对应版本的src文件,本机使用apache-hive-1.2.2-src.tar.gz 2.解压缩 ...

  7. python之使用heapq()函数计算列表中数值大小

    # heapq函数:计算列表最大几个值和最小几个值 # 语法:heapq.nlargest(n, list,[key]) # n表示最大或最小的几个: list为分析的对象: key为排序关键字,非必 ...

  8. HihoCoder - 1498 Diligent Robots

    There are N jobs to be finished. It takes a robot 1 hour to finish one job. At the beginning you hav ...

  9. Codeforces Round #412 C. Success Rate

    C. Success Rate time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  10. Canvas与javaScript特效笔记

    第六章   Canvas与javaScript特效笔记 q  <canvas>标签的用途 HTML5 canvas 提供了通过 JavaScript 绘制图形的方法,此方法使用简单但功能强 ...