PHP导出csv和excel以及word的方法

2018年9月8日16:35:58 发表评论 5,583
摘要

本文讲述的是php中导出CSV、Excel、Word的三种实现方法。

PHP导出csv和excel以及word的方法

 相信很多同学在开发过程中都多多少少的会遇到导出excel表、word文档等需求,本文讲的便是使用PHP在不使用第三方插件的情况徐爱导出csv、xls、doc的方法,下面先讲原理方法,最后将附上PHP实现。

0x01 导出csv的方法

其实这个是最简单的,csv本身就是为了方便数据的导入导出而生,并且转换为其他格式也是很容易。

csv列和列之间其实就是逗号间隔的,列和列之间是换行符间隔的所以我们在导出数据的时候只需要在列和列之间添加逗号,行和行之间添加换行符\n即可,当然,还有一种最简单的方法,就是使用fputcsv()函数,这是php原生的操作csv文件的函数,当然,也存在对应的读取文件fgetcsv(),只不过在使用的时候注意编码的转换。

0x02 导出xls的方法

这个方法其实我也是最近才发现的,其实xls列和列之间可以使用制表符\t间隔,行和行之间使用换行符\n间隔,所以在导出数据的时候只要使用fwrite()函数直接操作数据,在列和列之间添加制表符\t,行和行之间添加换行符\n即可。使用php中的implode函数可以很方便的帮助我们在他们之间添加制表符。

0x03 导出doc的方法

这个网上也有很多,其实可以将word看作html,只要添加特殊的标记,他就可以呗word读取,下面是html的模板代码:

只要使用上面的模板,然后在body中编写html代码,保存为doc格式就可以被word解析。

0x04 PHP代码实现

上面的代码包含了三种导出方式,使用了php://output协议,运行后回直接提示下载,可以当作工具函数直接封装即可,方便实用。

0x04 补充

导出xls的方法其实并不完美,虽然可以被打开,但是在使用excel打开时时会被警告扩展名有错误,毕竟不是真正的xls,是一种投机取巧的方法。建议还是使用phpExcel插件。

  • A+
所属分类:PHP

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: