问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php导出excel 乱码,因为使用phpexcel内存不足的原因

发布网友 发布时间:2022-04-05 23:24

我来回答

2个回答

懂视网 时间:2022-04-06 03:45

php导出excel乱码的解决办法:首先打开相应的PHP代码文件;然后在处理完数据之后,以及输出excel文件之前添加ob_end_clean函数即可解决乱码问题。

推荐:《PHP视频教程》

php导出excel乱码

使用PHP导出excel文档,有时候莫名其妙就会出现导出的数据乱码,现在推荐一个万能修补大法

话不多说,直接上代码

核心就是在处理完数据之后,输出excel文件之前 添加 ob_end_clean()函数;具体见示例代码,此处只罗列部分代码

foreach ($licenseList as $key => $item) {
   $objPHPExcel->setActiveSheetIndex(0)
   ->setCellValue('A' . ($key + 2), $item["company_name"])
   ->setCellValue('B' . ($key + 2), $item["user_name"])
   ->setCellValue('C' . ($key + 2), $item["order_number"])
   ->setCellValue('D' . ($key + 2), $item['apply_type']==2 ? 'official':'trial')
   ->setCellValue('E' . ($key + 2), $item["license_key"])
   ->setCellValue('F' . ($key + 2), $statusArr[$item['license_status']])->setCellValue('G' . ($key + 2), $item["user_email"])
   ->setCellValue('H' . ($key + 2), date('y/m/d H:i:s', strtotime($item['insert_time'])));
  }

  $objPHPExcel->getActiveSheet()->setTitle('Simple');
  $objPHPExcel->setActiveSheetIndex(0);
  ob_end_clean();//解决乱码核心 就在此处添加此函数
  header('Content-Type: application/vnd.ms-excel');
  header('Content-Disposition: attachment;filename="test_list.xls"');
  header('Cache-Control: max-age=0');
  header('Cache-Control: max-age=1');
  header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
  header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
  header('Cache-Control: cache, must-revalidate');
  header('Pragma: public');

  $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
  $objWriter->save('php://output');
  exit;

如上代码所示,如果此方法还是不行,请尝试使用iconv()函数,具体使用此处不做详解,请自行百度

热心网友 时间:2022-04-06 00:53

如果数据库存储的格式是utf-8.
数据输出时的格式也是utf-8。
php输出数据时是utf-8 的无BOM格式。
但是在excel,或是csv输出数据时都是要带上bom格式的数据。在excel格式的文档中乱码就需要在输出的最顶端加上 chr(0xEF).chr(0xBB).chr(0xBF)(BoM格式)就可以解决乱码问题。追问$writer = WriterFactory::create(Type::XLSX);
$writer->setShouldUseInlineStrings(true);
$writer->openToBrowser("bo.xls");
$public["kh"]="卡号";
$writer->addRow($public);//加一行
应该加到哪里?怎么写具体

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
家常羊汤制作需要哪些材料? 抑郁住院学平险可以报销吗 当你很大年纪了没有女朋友会不会很多人看不起你啊。 请问没有女朋友也会被人看不起? sd卡驱动手机怎么安装 哪个幼儿园环境好? 新都大厦周边配套 天津南开区小学生学习拉丁舞怎么考特长生 电缆的电阻怎样计算? 电缆的电阻怎样计算 php中导出excel乱码怎么办 Python是什么样的语言!与JAVA PHP有什么不同? PHP如何在数组添加有键名的元素? php中怎么样将数组中的键名改为全局变量啊?用函数的方法 php数组如何键值对调 php数组去掉键名函数 php中 二维数组更换键值 怎么将php数组中的键名删除,保留键值? 改变php数组key值的方法 php 数组的遍历和替换问题 php中已知数组键值怎么取得键名 请教php 数组值替换 php 数组键值替换问题,如何在替换键值的同时,保持数组的原序? 在PHP在二个一维数组的键值进行交换,得到一个新的数组。这个方式怎么写啊 php怎么修改数组键名 怎么将更改PHP二维数组的键名 php里面如何交换数组中的键和值? php 如何替换数组元素 详解php如何修改数组键名 php 代码能修改文件的创建时间 修改时间么 php 导出Excel乱码 大神帮忙指路,急急急!!! php 下载excel后乱码,求大侠解决, 如何解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题 PHP 清除字符串中间的空格的几种方法 PHP 怎么去掉一个字符串中间的空格 PHP如何删除空白 php 怎样去除空格键 php 中文开头的空格占两个字节,如何删除掉空格? php去掉字符串空格 PHP中字符串正则式处理:去除字符串末尾的若干个空格? php 字符串怎么去掉非空白字符 php里面怎么删掉字符串首位空格? [php教程]怎么去除字符串中间的空格 如何用php替换特殊字符及之后的字符串。例如$url中间有空格,我想去掉空格及空格后面的内容? php 怎样去除一篇文章中所有空格? 如何去除php 函数中空格 PHP中怎么使用trim去除首尾空格或特定字符 去除PHP代码中的空白和注释 php怎样替换掉所有空格 php里date("H")得到的是格林尼治时间,怎么转为北京时间?