PHPExcel生成Excel文件---提示导出文件或者文件扩展名不一致,或导出的文件或文件扩展名无效
$data = Db::name('shop_cart')->where('phone','15555555555')->select();
$objPHPExcel = new PHPExcel();//实例化PHPExcel类 等同于在桌面上新建一个Excel表格
$objSheet = $objPHPExcel->getActiveSheet();//获得当前活动sheet的操作对象
$objSheet->setTitle('demo');//给当前活动sheet设置名字
$objSheet->setCellValue("A1","序号")->setCellValue("B1","产品编号");
$objSheet->setCellValue("C1","产品名称")->setCellValue("D1","产品规格");
$objSheet->setCellValue("E1","浓度")->setCellValue("F1","原价");
$objSheet->setCellValue("G1","优惠价")->setCellValue("H1","货期");
$objSheet->setCellValue("I1","有效期")->setCellValue("J1","批次号");
$objSheet->setCellValue("K1","供货商")->setCellValue("L1","数量");
$objSheet->setCellValue("M1","金额")->setCellValue("N1","备注");
$j = 2;
foreach($data as $key => $val){
if($val['good_stock'] > 50){
$val['good_stock'] = '有货';
}else if($val['good_stock'] < 50 && $val['good_stock'] > 50){
$val['good_stock'] = '缺货';
}else{
$val['good_stock'] = '暂无';
}
$val['good_indate'] = date('Y-m-d',$val['good_indate']);
$objSheet->setCellValue("A".$j,$key+1)->setCellValue("B".$j,$val['good_num'])->setCellValue("C".$j,$val['good_name'])->setCellValue("D".$j,$val['good_spe'])->setCellValue("E".$j,$val['good_standard'])->setCellValue("F".$j,$val['normal_price'])->setCellValue("G".$j,$val['member_price'])->setCellValue("H".$j,$val['good_stock'])->setCellValue("I".$j,$val['good_indate'])->setCellValue("J".$j,$val['good_batch'])->setCellValue("K".$j,$val['company'])->setCellValue("L".$j,$val['good_count'])->setCellValue("M".$j,$val['good_subtotal'])->setCellValue("N".$j,'');
$j++;
}
ob_end_clean();//清除缓冲区,避免乱码
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="links_out.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
之前怎么做下载下来的文件都是错误格式的。本来就对Excel文件不熟悉,不怎么用,结果就在2003跟2007之间晕了,其实写的没错,
只是没有清除缓冲区
ob_end_clean();
,所以才会提示导出文件或者文件扩展名不一致,或导出的文件或文件扩展名无效,现在Excel5是没问题了
再说Excel2007的,之前一直提示错误,header头跟文件名设置的格式都对还是提示错误,然后再最后加了一条exit;成功不提示了,
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Cache-Control: max-age=0');
exit;
完美输出;
PHPExcel生成Excel文件---提示导出文件或者文件扩展名不一致,或导出的文件或文件扩展名无效的更多相关文章
- phpexcel生成excel并下载
Loader::import('PHPExcel.Classes.PHPExcel'); // tp5中只需将phpexcel文件放入extend文件夹中,即可采用该方法引入,需要先 use thin ...
- PHPExcel 生成excel统计表格
db.php为数据库操作类, $config为数据库配置,PHPExcel版本为PHPExcel_1.8.0, php代码: $dir = dirname(__FILE__); require $d ...
- [moka同学笔记]PHPexcel之excel导出和导入
原案例来自http://www.sucaihuo.com/有修改 1.目录结构(文件不用解释,应该都可以看得懂,直接看代码)
- SkylineGlobe TEPro 6.6.1 二次开发导出KML或者KMZ文件示例代码
其实Skyline的fly文件跟kml文件很像很像,只不过一个是编码加密的,另一个早已经成为OGC的通用标准: 喜欢Skyline的小伙伴们试试下面的代码吧,细心的人能发现彩蛋哦. <!DOCT ...
- thinkphp整合系列之phpexcel生成生成excel文件
在后台管理中会经常需要将数据生成excel表格的: php生成excel有两种方案: 一种是通过phpexcel生成xls格式的表格文件: 另一种则直接通过逗号换行生成csv格式的表格文件: 这里先讲 ...
- PHP 使用 PHPExcel 库生成 Excel 文件
PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可以使用它来读取.写入不同格式的电子表格,如 Excel (BIFF) .xls ...
- 使用PHPExcel实现Excel文件的导入和导出(模板导出)
在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是:1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽度 ...
- PHPExcel读取excel文件示例
PHPExcel读取excel文件示例PHPExcel最新版官方下载网址:http://phpexcel.codeplex.com/PHPExcel是一个非常方便生成Excel格式文件的类,官方下载包 ...
- 如何生成excel文件作为图像识别结果
如何生成excel文件作为图像识别结果 在进行大规模图像处理的时候,如果能够以表格的形式生成结果文件,将非常的直观.这个时候,选择excel作为结果输出文件,将是合适的. 查询相关资料,有很多关于ex ...
随机推荐
- HuggingFace-transformers系列的介绍以及在下游任务中的使用
内容介绍 这篇博客主要面向对Bert系列在Pytorch上应用感兴趣的同学,将涵盖的主要内容是:Bert系列有关的论文,Huggingface的实现,以及如何在不同下游任务中使用预训练模型. 看过这篇 ...
- redis的多路复用是什么鬼
有没有人和我一样, 自打知道了redis, 就一直听说什么redis单线程, 使用了多路复用等等. 天真的我以为多路复用是redis实现的技术. 今天才发现, 我被自己骗了, 多路复用是系统来实现的. ...
- 关于log4j、jul、jcl、slf4j等等日志组件的理解
日志组件: 我们经常在开发项目的时候,需要打印记录项目过程中的一些日志.那我们经常大概会用到 log4j.jul.jcl.slf4j.simple.nop.logback 等等,那我们就详细介绍下这些 ...
- 全网最全最细的appium自动化测试环境搭建教程以及appium工作原理
一.前言 对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功.appium 自动化测试 ...
- An example shows several CIM-XML extension headers
The example below shows several CIM-XML extension headers for a GetClass operation on the root/cimv2 ...
- Redis持久化存储(三)
redis高级特性-发布订阅消息服务功能 Pub/Sub 订阅,取消订阅和发布实现了发布/订阅消息范式(引自wikipedia),发送者(发布者)不是计划发送消息给特定的接收者(订阅者).而是发布的消 ...
- PCA主成分分析(上)
PCA主成分分析 PCA目的 最大可分性(最大投影方差) 投影 优化目标 关键点 推导 为什么要找最大特征值对应的特征向量呢? 之前看3DMM的论文的看到其用了PCA的方法,一开始以为自己对于PCA已 ...
- 运行node 报错 throw er; // Unhandled 'error' event
错误提示 此端口已被占用,改换其他端口
- Vue tools开发工具报错Cannot read property '__VUE_DEVTOOLS_UID__' of undefined
使用 vue tools 开发工具,不显示调试面板中的组件,点击控制台报错: Cannot read property 'VUE_DEVTOOLS_UID' of undefined 在 main.j ...
- (PSO-BP)结合粒子群的神经网络算法以及matlab实现
原理: PSO(粒子群群算法):可以在全局范围内进行大致搜索,得到一个初始解,以便BP接力 BP(神经网络):梯度搜素,细化能力强,可以进行更仔细的搜索.数据: ...