解析用php读写excel文件的方法
本文分析了用原生php读写excel文件的方法。分享给大家参考,如下:
最近在工作中遇到一个要求。我需要将数据库中的数据导出到excel文件并下载excel文件。因为之前没做过,所以看了一下百度。我在网上说的大部分都是用phpexcel类来操作excel文件。这个类只能下载使用,但是我只想用原生php,不想这么麻烦。好在也有网友谈到了用原生PHP生成Excel文件的方法,其实很简单。让我们分享我用在线材料练习的代码。
一般我们对前导数据的操作是通过用户点击网页上的一个按钮触发相应的js方法,然后请求php接口来实现的,所以满足这个需求的方法主要有两种。
方法一:直接用js代码中的window.open()打开php接口的url,然后下载php生成的excel文件。
Php接口代码如下:
$ MySQL=MySQL _ connect(' localhost ',' root ',' 123456 ',' test ');$sql=“从国家/地区中选择*”;$ RES=MySQL _ query($ MySQL,$ SQL);标题(' Content-type : application/vnd . ms-excel ');标题(' Content-disposition : filename=country . xls ');echo“code \ t”;回显“name \ t”;回显“填充\ t \ n”;if(MySQL _ num _ rows($ RES)0){ while($ row=MySQL _ fetch _ array($ RES)){ echo $ row[' code ']。\ t ';回显$row['name']。\ t ';echo $row['population']。\ t \ n ';}}方法二:在2:php界面将生成的excel文件保存在服务器中,然后将文件路径返回给js,js用window.open()打开文件路径即可下载。
Php接口代码如下:
$ MySQL=MySQL _ connect(' localhost ',' root ',' 123456 ',' test ');$sql=“从国家/地区中选择*”;$ RES=MySQL _ query($ MySQL,$ SQL);$file=fopen('。/country.xls ',' w ');fwrite($file,' code \ t name \ t population \ t \ n ');if(MySQL _ num _ rows($ RES)0){ while($ row=MySQL _ fetch _ array($ RES)){ fwrite($ file,$row['code']。\t。$row['name']。\t。$row['population']。\ t \ n ');//这里写得不好。文件的所有内容都应该组装成一个字符串,然后写入文件一次。} } fc lose($ file);echo ' http://www . jtw.com/……/country . xls ';//将文件路径返回给js的两种方法非常相似,可以将数据库中的数据导出到excel文件中,然后下载文件。最终文件截图如下:
如果需要,还可以使用原生php读取excel文件的内容,主要用于excel文件中的数据需要导入数据库时。
代码如下:(这仅显示将文件数据读入数组)
$path='。/country . xls ';$file=fopen($path,' r ');//读取标题行(第一行)$ row=fgets($ file);$row=explode('\t ',$ row);$ title=array();foreach($ row as $ k=$ v){ $ title[$ k]=str _ replace(' \ n ','',$ v);}//内容读取$ data=array();$ count=0;while(!feof($ file)){ $ row=fgets($ file);$row=explode('\t ',$ row);if(!$row[0])继续;//删除foreach的最后一行($ title as $ k=$ v){ $ data[$ count][$ title[$ k]]=$ row[$ k];} $ count} fc lose($ file);回声“pre”;print _ r($ data);但是,原生php生成的excel文件存在一个问题,即编辑文件后保存文件时,总是会出现以下截图:
不知道为什么,生成的文件本身存在一些问题。
而且,使用原生php读取生成的excel文件时,会出现中文乱码等奇怪的情况。因此,最好仅在某些情况下使用本机php生成excel文件:只需将数据从数据库导出到文件中以便于查看,而无需修改或读取文件。在这种情况下,使用原生php生成excel就足以满足需求,避免了使用第三方类库操作excel的麻烦。但是,如果生成的文件需要修改、保存和读取,最好使用phpexcel等第三方类库诚实读写,这样可以避免很多纠结的问题。
更多对PHP相关内容感兴趣的读者可以查看本网站的话题:《php操作office文档技巧总结(包括word,excel,access,ppt)》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《php字符串(string)用法总结》、《php常见数据库操作技巧汇总》、0103010。
希望本文对PHP编程有所帮助。
版权声明:解析用php读写excel文件的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。