php 生成导出excel,PHP导出生成EXCEL文件

PHP导出生成EXCEL文件

// 解决中文乱码所做的编码转换

function xecho($content){

echo mb_convert_encoding($content,"gbk","auto");

}

// 必须要的基本header

header("Content-Type: application/vnd.ms-excel; charset=utf-8");

header("Content-Disposition: attachment; filename=progress.csv");

// 输出列名

xecho("#,产品,开发人员,Bug数\n");

foreach($stories as $k => $story){

echo $k + 1 .',';//输出第1列,列结束后用逗号分隔

xecho ($story->productName .','); //输出第2列,列结束后用逗号分隔

/* 这里是很重要的技巧,在某一列内换成多行,需要写成\"A\r\n\B\r\n\C\r\n\"

* 这样子才能在这个列展示成

* A

* B

* C

*/

$prefix = "\"";

$developer = $prefix;

foreach($story->tasks as $task){

$developer .= $task->developer ."\r\n";

}

$developer = rtrim($developer) .$prefix;

xecho ($developer .",");//输出第3列,列结束后用逗号分隔

echo $story->bugNum;//输出最后1列,列结束后用需要输出\n来换行

echo "\n";

}

【备注】

在php中要导出数据到excel表中,需要在单元格内换行,捣鼓了好久,终于搞定。一开始用\r\n,结果是excel里直接跳到了下一行。

实际上在要进行换行的字符串两头都加上"就可以了

例如:要显示:

你好

hello

字符串写成:

"\"你好\r\nhello\""

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 内核 内存管理 slub算法 (一) 原理

http://blog.csdn.net/lukuen/article/details/6935068转载于:https://www.cnblogs.com/zengkefu/p/8320429.html

用户配置文件

问:什么是用户配置文件? 答:用户配置文件就是在用户登录时定义系统加载所需环境的设置和文件的集合。它包括所有用户专用的配置设置,如程序项目、屏幕颜色、网络连接、打印机连接、鼠标设置及窗口的大小和位置。 当你第一次登录到一台基于…

oracle00109,ORA-01034: 、ORA-01078: 和 LRM-00109: 的解决方法,ora-01034ora-01078

ORA-01034: 、ORA-01078: 和 LRM-00109: 的解决方法,ora-01034ora-01078环境:Linux 5.4 Oracle 11.2.0.3在Linux上连接Oracle时遇到报错:SQL> show parameter sgaORA-01034: ORACLE not availableProcess ID: 0Session ID: 0 Serial numbe…

listView 多布局

最近在开发项目中遇到了实现类似淘宝首页的需求,使用listView可以解决,在此记录一下。 实现步骤: 重写 getViewTypeCount() – 返回你有多少个不同的布局重写 getItemViewType(int) – 由position返回view type id根据view item的类型&#x…

数据查询

command命令的方法:ExecuteNonQuery(受影响行数),ExecuteReader(返回的是Datatable),ExecuteScalar(第一行第列) SqlDataAdapter是和DataSet配和工作的,不能分开。 using(SqlConnection connnew SqlConnection(connectionString)) { conn.Open(); SqlCom…

Php面试题之背人过桥,梦见背人过桥好不好?

吉凶指数:99(由佛滔居士根据数理文化得出,仅供参考)老年人梦见桥,意味着将不久于人世。谈判人员梦见桥,意味着与对手实现双赢。梦见走过土桥的梦,也表示谈生意、婚姻等拖延不决。梦见过桥,表示有能力解决遇…

第00章—IDEA

spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html 码云源码地址:https://gitee.com/jinxiaohang/springboot 来自网络搜索整理 IntelliJ IDEA安装 IntelliJ IDEA破解 IntelliJ IDEA 注册码 IntelliJ IDEA安装主题 IntelliJ …

软件测试5未来大发展路线,测试工程师发展偏向

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、软件测试的五大…

SQL里的SWITCH分支语句

declareiintdeclarejvarchar(10)seti1selectjcaseiwhen1then11when2then22when3then33elseotherendprintj

linux 文件夹换所属用户,linux普通用户su root切换提示没有文件或目录的解决方法...

1. 首先进入单用户模式:1). ubuntu :上述情况可以在grub界面选择第二项修复,但没有grub可以参考:1、重启ubuntu,随即长按shirft进入grub菜单;2、选择recovery mode,按"e"键进入编辑页面&#xff…

排序算法[转]

笔者最近学习算法,学了很久也只弄懂了几个排序算法,在这里晒一下下,作为以后参考之用。 一、为什么要研究排序问题 许多计算机科学家认为,排序算法是算法学习中最基本的问题,原因有以下几点: l 有时候应用…

linux 搜索 文件 内容,Linux 文件查找及文件内容查找

使用grep搜索文件内容——快捷、方便(1) 在当前目录下的所有文件的文件内容中查找哪个文件的内容中有findcontents(大小写不敏感,列出findcontents所在文件的所在行)——适合于当前目录下的文件及目录数目比较少,如果查找后列出内容过多,将会…

sonar做代码检测时如何忽略一些代码文件

1、管理员登录sonar 2、如图 一条规则配置一个,不要填写逗号或者分号分割的多个规则 转载于:https://www.cnblogs.com/shengulong/p/8324764.html

回车符和换行符

2019独角兽企业重金招聘Python工程师标准>>> 首先转一段关于回车和换行的历史。 回车和换行 关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。 在计算机还没有出现之前,有一种…

linux新建好文件后怎么编译,使用autoconf生成Makefile并编译工程的步骤

前言在Linux下,编译和链接需要用Makefile,而写好一个Makefile可不容易,写出一个规范的Makefile更是麻烦。我们可以利用autoconf来生成一个Makefile,尤其在大型工程里,能省去很多麻烦。这里我会用一个工程来说明怎么做&…

前端跨域的那些事

这一节,我们来讲一讲,前端跨域的那些事,主要分成这样的几部分来讲解, 一、为什么要跨域? 二、常见的几种跨域与使用场景 2.1 JSONP跨域 2.2 iframe跨域 2.3 window.name 跨域 2.4 document.domain 跨域 2.5 cookie跨域…

VC++学习(15):多线程

1. 程序,进程,线程 A: 程序是计算机指令的集合,它以文件的形式存储在磁盘上,而进程通常被定义为一个正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动.一个程序可以对应多个进程. 进程是资源申请,高度和独立运行的单位,因此,它使用系统中的运行资源,而…

在linux中500g怎么分区,500G的硬盘,怎么分区比较合理?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼个人电脑怎么分?希望大家给我规范一下另外,我的/dev/sda2用的是xfs,/dev/sda9用的是reiser4draplaterDrapl ~ $ sudo fdisk -l密码:Disk /dev/sda: 160.0 GB, 160041885696 bytes255 …

CSS宽高背景介绍

本萌新还未毕业,在一家外包公司干了一个月,因烦恼日常琐事任务,深感外包之坑,以及上班路途艰辛,特转战erp实施,继写日常随笔,望来日屌丝逆袭,走上人生巅峰。 若有错误,请…

linux交叉编译生成的是什么,静态链接util-linux – 交叉编译(生成动态链接文件)...

我一直试图交叉编译util-linux for arm但我一直以动态链接的可执行文件结束,我不知道为什么会这样.我的目标是静态的.我在使用类似步骤的不同工具之前进行了交叉编译,并且它一直有效,所以这次我不知道我做错了什么.我正在使用Ubuntu 16.04.以下是我正在运行的命令:e…