使用phpexcel导出excel乱码
数据库和页面都是utf8。
header('Content-Type: application/vnd.ms-excel;');
header('Content-Disposition: attachment;filename='.$filename.'.xls');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output'); //
导出后,打开execel是乱码的。
本地window下导出的话没问题,上传到服务器上导出,就是乱码。
直接var_dump($objWreter)到页面,发现不会乱码。
header('Content-Type: application/vnd.ms-excel;charset=gb2312')也还是乱码;
这个乱码是什么问题
回复讨论(解决方案)
在header() 前面加上ob_end_clean() 函数, 清除缓冲区, 这样就不会乱码了!
ob_end_clean();//清除缓冲区,避免乱码
header('Content-Type: application/vnd.ms-excel');
.....
.....
$objWriter->save('php://output'); 输出的是二进制文档流,就和图片一样不存在字符集的问题
用 excel 打开是出现乱码,是因为文件中含有不能被他识别的内容
这多半是包含了 php 的错误信息
你可以截个图贴上来看看,也可以以把 xls 文件放到网盘上
在header() 前面加上ob_end_clean() 函数, 清除缓冲区, 这样就不会乱码了!
ob_end_clean();//清除缓冲区,避免乱码
header('Content-Type: application/vnd.ms-excel');
.....
.....
的确是这问题,伤不起的缓冲区
$objWriter->save('php://output'); 输出的是二进制文档流,就和图片一样不存在字符集的问题
用 excel 打开是出现乱码,是因为文件中含有不能被他识别的内容
这多半是包含了 php 的错误信息
你可以截个图贴上来看看,也可以以把 xls 文件放到网盘上
在header() 前面加上ob_end_clean() 函数, 清除缓冲区, 这样就不会乱码了!
ob_end_clean();//清除缓冲区,避免乱码
header('Content-Type: application/vnd.ms-excel');
.....
.....
的确是这问题,伤不起的缓冲区
没用,我用的是本地测试的,唉!本地本来就可以的,大意了
你的 A1 单元格处的内容就不对
请检查是否有多余的输出
上下代码
/*--------------设置表头信息------------------*/
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'a')
->setCellValue('B1', 'b')
->setCellValue('C1', 'c')
->setCellValue('D1', 'd')
->setCellValue('E1', 'e')
->setCellValue('F1','f')
->setCellValue('G1','g')
->setCellValue('H1','h')
->setCellValue('I1',i')
->setCellValue('J1','f');
/*--------------开始从数据库提取信息插入Excel表中------------------*/
$i=2; //定义一个i变量,目的是在循环输出数据是控制行数
for($j=0;$j
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue("A".$i, $result[$j]['ori_stu_name'])
->setCellValue("B".$i, $result[$j]['ori_stu_candidateNum'])
->setCellValue("C".$i, $result[$j]['ori_stu_sex'])
->setCellValue("D".$i, $result[$j]['ori_stu_id_card'])
->setCellValue("E".$i, $result[$j]['ori_stu_institution'])
->setCellValue('F'.$i, $result[$j]['ori_stu_specialty'])
->setCellValue('G'.$i, $result[$j]['ori_stu_phone'])
->setCellValue('H'.$i, $result[$j]['ori_stu_isMember'])
->setCellValue('I'.$i, $result[$j]['ori_stu_domicile'])
->setCellValue('J'.$i, $result[$j]['ori_stu_isReport']);
$i++;
}
/*--------------下面是设置其他信息------------------*/
$objPHPExcel->getActiveSheet()->setTitle('学生表'); //设置sheet的名称
$objPHPExcel->setActiveSheetIndex(0); //设置sheet的起始位置
$filename = date('Y-m',time())."信息表";
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename='.$filename.'.xls');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output'); //这里生成excel后会弹出下载
你的 A1 单元格处的内容就不对
请检查是否有多余的输出
我上代码吧
Vendor("Excel.PHPExcel"); Vendor("Excel.PHPExcel.IOFactory"); $objPHPExcel = new PHPExcel(); $db=M("student_info"); $where="where fsi_logistics.ori_log_stuCandidateNum = fsi_student_info.ori_stu_candidateNum"; $sql="select logistics.*,student_info.ori_stu_name from student_info,logistics ".$where; $result= $db->query($sql); $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', '姓名') ->setCellValue('B1', '考生号') ->setCellValue('C1', '商品') ->setCellValue('D1', '价格'); $i=2; for($j=0;$j<count($result);$j++){ $objPHPExcel->setActiveSheetIndex(0) ->setCellValue("A".$i, $result[$j]['ori_stu_name']) ->setCellValue("B".$i, $result[$j]['ori_log_stuCandidateNum']) ->setCellValue("C".$i, $result[$j]['product']) ->setCellValue("D".$i, $result[$j]['price']); $i++; } $objPHPExcel->getActiveSheet()->setTitle('学生表'); $objPHPExcel->setActiveSheetIndex(0); $filename = date('Y-m',time())."生活用品表"; ob_end_clean() ; header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename='.$filename.'.xls'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit;
没有其它输出了呀,在winddow下导出是正常的
我已经解决了,bom头的问题,谢谢你们了

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题











如果在打开一份需要打印的文件时,在打印预览里我们会发现表格框线不知为什么消失不见了,遇到这样的情况,我们就要及时进行处理,如果你的打印文件里也出现了此类的问题,那么就和小编一起来学习下边的课程吧:excel打印表格框线消失怎么办?1、打开一份需要打印的文件,如下图所示。 2、选中所有需要的内容区域,如下图所示。 3、单击鼠标右键,选择“设置单元格格式”选项,如下图所示。 4、点击窗口上方的“边框”选项,如下图所示。 5、在左侧的线条样式中选择细实线图样,如下图所示。 6、选择“外边框”

在日常办公中经常使用Excel来处理数据,时常遇到需要使用“筛选”功能。当我们在Excel中选择执行“筛选”时,对于同一列而言,最多只能筛选两个条件,那么,你知道excel同时筛选3个以上关键词该怎么操作吗?接下来,就让小编为大家演示一遍。第一种方法是将条件逐步添加到筛选器中。如果要同时筛选出三个符合条件的明细,首先需要逐步筛选出其中一个。开始时,可以先根据条件筛选出姓“王”的员工。然后单击【确定】,接着在筛选结果中勾选【将当前所选内容添加到筛选器】。操作步骤如下所示。 同样,再次分别执行筛选

在我们日常的工作学习中,从他人处拷贝了Excel文件,打开进行内容添加或重新编辑后,再保存的有时候,有时会提示出现兼容性检查的对话框,非常的麻烦,不知道Excel软件,可不可改为正常模式呢?那么下面就由小编为大家带来解决这个问题的详细步骤,让我们一起来学习吧。最后一定记得收藏保存。1、打开一个工作表,在工作表的名称中显示多出来一个兼容模式,如图所示。2、在这个工作表中,进行了内容的修改后保存,结果总是弹出兼容检查器的对话框,很麻烦看见这个页面,如图所示。 3、点击Office按钮,点另存为,然

在处理数据时,有时我们会遇到数据包含了倍数、温度等等各种符号的时候,你知道excel上标应该如何设置吗?我们在使用excel处理数据时,如果不会设置上标,这可是会让我们的很多数据在录入时就会比较麻烦。今天小编就为大家带来了excel上标的具体设置方法。1.首先,让我们打开桌面上的MicrosoftOfficeExcel文档,选择需要修改为上标的文字,具体如图所示。2.然后,点击右键,在点击后出现的菜单中,选择“设置单元格格式”选项,具体如图所示。3.接下来,在系统自动弹出来的“单元格格式”对话框

大部分用户使用Excel都是用来处理表格数据的,其实Excel还有vba程序编写,这个除了专人士应该没有多少用户用过此功能,在vba编写时常常会用到iif函数,它其实跟if函数的功能差不多,下面小编给大家介绍下iif函数的用法。Excel中SQL语句和VBA代码中都有iif函数。iif函数和excel工作表中的IF函数用法相似,执行真假值判断,根据逻辑计算的真假值,返回不同结果。IF函数用法是(条件,是,否)。VBA中的IF语句和IIF函数,前者IF语句是控制语句可以根据条件执行不同的语句,后者

在软件的学习中,我们习惯用excel,不仅仅是因为需要方便,更因为它可以满足多种实际工作中需要的格式,而且excel运用起来非常的灵活,有种模式是方便阅读的,今天带给大家的就是:excel阅读模式在哪里设置。1、打开电脑,然后再打开Excel应用,找到目标数据。2、要想在Excel中,设置阅读模式,有两种方式。第一种:Excel中,有大量的便捷处理方式,分布在Excel中布局中。在Excel的右下角,有设置阅读模式的快捷方式,找到十字标志的图案,点击即可进入阅读模式,在十字标志的右边有一个小的三

随着社交媒体的不断兴起,抖音作为一款备受欢迎的短视频平台,吸引了大量用户的青睐。在抖音上,用户不仅可以展示自己的生活,还能与其他用户进行互动。在这种互动中,表情包逐渐成为用户们表达情感的重要方式。一、抖音私信表情包怎么弄到微信?首先,要在抖音平台上获取私信表情包,需要登录抖音账号,然后浏览并选择喜欢的表情包,可以选择发送给好友或自己收藏。在抖音收到表情包后,可以通过私信界面长按该表情包,然后选择“添加到表情”功能。这样,就可以将这个表情包添加到抖音的表情库中。3.接下来,我们需要将抖音表情库中的

1、打开PPT,翻页至需要插入excel图标的页面。点击插入选项卡。2、点击【对象】。3、跳出以下对话框。4、点击【由文件创建】,点击【浏览】。5、选择需要插入的excel表格。6、点击确定后跳出如下页面。7、勾选【显示为图标】。8、点击确定即可。
