php输出excel乱码怎么办

php输出excel乱码的解决办法:首先打开相应的PHP文件;然后在“header()”前面加上“ob_end_clean()”函数,清除缓冲区即可解决乱码问题。

php输出excel乱码怎么办

本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。

完美解决phpexcel导出到xls文件出现乱码的问题

下面小编就为大家带来一篇完美解决phpexcel导出到xls文件出现乱码的问题。

解决方法如下所示:

立即学习“PHP免费学习笔记(深入)”;

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 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输出excel乱码怎么办的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2519272.html

(0)
上一篇 2025年3月5日 16:23:22
下一篇 2025年3月5日 16:23:30

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php下载文件内容乱码怎么办

    php下载文件内容乱码的解决办法:1、通过“ob_clean()”函数清空输出缓冲区内容;2、通过“flush()”函数刷新PHP程序的缓冲即可。 本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。 php 文件下载 出…

    2025年3月5日
    000
  • php怎么判断变量不存在

    php判断变量不存在的方法:1、通过isset方法检测变量是否设置,并且不是NULL;2、通过empty判断一个变量是否被认为是空的;3、通过is_null判断变量是否存在。 本文操作环境:Windows7系统、PHP7.1、Dell G3…

    2025年3月5日
    200
  • php数组怎么转成js数组

    php数组转成js数组的方法:1、使用foreach语句遍历数组,语法“foreach($arr as $value){//循环体代码}”;2、在循环体中,通过json_encode()将数组中每一个值进行json编码,语法“json_en…

    2025年3月5日
    200
  • php怎么获得星期几

    php获得星期几的方法:1、创建一个PHP示例文件;2、定义一个数组,语法“$weekarray=array(“日”,”一”,”二”,”三”,&…

    2025年3月5日
    200
  • php怎么去掉html代码

    php去掉html代码的方法:1、通过“function strip($str){}”直接取出想要取出的标记;2、通过“strip_tags”函数去除HTML标签;3、通过strtr函数转换字符串中特定的字符即可。 本文操作环境:Windo…

    2025年3月5日
    200
  • php怎么删除整个数组

    php删除整个数组的方法:首先创建一个PHP示例文件;然后定义一个数组$a;最后通过“unset($a);”方式把整个数组删除即可。 本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。 举例如下: $a=array(1,…

    2025年3月5日
    200
  • php怎么遍历删除目录

    php遍历删除目录的方法:首先创建一个PHP示例文件;然后通过“function del_dir($dir) {…}”方法遍历删除目录和目录下所有文件即可。 本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。…

    2025年3月5日
    200
  • php怎么实现多进程和关闭进程

    php实现关闭进程的方法:首先创建一个PHP示例文件;然后通过“exec(“kill -9 30699”);”方法关闭指定进程即可。 本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。 一、php…

    2025年3月5日
    200
  • php怎么实现数组分页

    php实现数组分页的方法:首先创建一个PHP示例文件;然后设置页面utf编码;最后通过“array_slice($array,($page-1)*$size,$size);”等方法实现数组分页即可。 本文操作环境:Windows7系统、PH…

    2025年3月5日
    200
  • php怎么将字符串全部转为小写

    php将字符串全部转为小写的方法:首先创建一个PHP示例文件;然后通过strtolower函数把字符串转换为小写即可。 本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。 strtolower() 函数把字符串转换为小写…

    2025年3月5日
    200

发表回复

登录后才能评论