国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

原生php實現excel文件讀寫的方法分析php技巧

2020-03-22 19:13:07
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了原生php實現excel文件讀寫的方法,結合實例形式分析了采用原生php針對Excel進行讀寫操作的相關實現方法與操作注意事項,需要的朋友可以參考下

本文實例分析了原生php實現excel文件讀寫的方法。分享給大家供大家參考,具體如下:

最近在工作中遇到一個需求,需要將數據庫中的數據導出到excel文件中,并下載excel文件。因為以前沒做過,所以就百度了一下,網上說的大多是使用PHPExcel類來操作excel文件,這還要去下載這個類才能使用,而我只想使用原生的php,不想那么麻煩,好在也有網友說到關于原生php生成excel文件的方法,其實很簡單,下面把我結合網上資料自己實踐的代碼分享一下。

一般我們這種導數據的操作都是通過用戶在網頁頁面上點擊某個按鈕觸發相應js方法,然后請求php接口來實現的,所以主要有兩種方法來完成這種需求。

方法1:直接在js代碼中使用window.open()打開php接口的url,即可將php生成的excel文件下載下來。

php接口代碼如下:

$mysqli = mysqli_connect( localhost , root , 123456 , test $sql = select * from country $res = mysqli_query($mysqli, $sql);header( Content-type:application/vnd.ms-excel header( Content-Disposition:filename=country.xls echo code/t echo name/t echo population/t/n if(mysqli_num_rows($res) 0) { while($row = mysqli_fetch_array($res)) { echo $row[ code ]. /t  echo $row[ name ]. /t  echo $row[ population ]. /t/n }

方法2:php接口中先把生成的excel文件保存在服務器中,然后把文件路徑返回給js,js再使用window.open()打開文件路徑即可下載。

php接口代碼如下:

$mysqli = mysqli_connect( localhost , root , 123456 , test $sql = select * from country $res = mysqli_query($mysqli, $sql);$file = fopen( ./country.xls , w fwrite($file, code/tname/tpopulation/t/n if(mysqli_num_rows($res) 0) { while($row = mysqli_fetch_array($res)) { fwrite($file, $row[ code ]. /t .$row[ name ]. /t .$row[ population ]. /t/n //這里寫得不好,應該把所有文件內容組裝到一個字符串中然后一次性寫入文件。fclose($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]) continue;//去除最后一行 foreach($title as $k = $v) { $data[$count][$title[$k]] = $row[$k]; $count ++;fclose($file);echo pre print_r($data);

不過,使用原生php生成的excel文件,存在一個問題,就是每次編輯文件之后保存文件的時候總是會出現如下截圖的問題:

也不知道是什么原因,大概是生成的文件本身存在一些問題吧。。。

而且使用原生php對生成的excel文件進行讀取的時候會出現中文亂碼等一些奇葩情況。所以,使用原生php生成excel文件最好僅在某種情況下使用:只是單純地將數據從數據庫導出到文件中方便查看,無需對文件進行修改,也無需對文件進行讀取。這種情況使用原生php來生成excel足以滿足需求,免去使用第三方類庫來操作excel的麻煩。不過,若是生成之后的文件還有修改保存、讀取數據的需求,那還是老老實實使用phpexcel等第三方類庫來進行讀寫操作吧,可以避免很多讓人糾結的問題。

您可能感興趣的文章:

PHP設計模式之單例模式原理與實現方法分析php技巧

PHP設計模式之原型設計模式原理與用法分析php技巧

laravel中短信發送驗證碼的實現方法php實例

以上就是原生php實現excel文件讀寫的方法分析php技巧的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴隆县| 广宗县| 肥东县| 临西县| 介休市| 元谋县| 于田县| 宁海县| 甘德县| 三门峡市| 南宁市| 贵定县| 怀来县| 兴宁市| 织金县| 新建县| 齐河县| 益阳市| 广东省| 苍南县| 景谷| 河池市| 怀化市| 司法| 杭州市| 新龙县| 广平县| 汕尾市| 常山县| 岑巩县| 姚安县| 武清区| 临城县| 山阴县| 贵州省| 舟山市| 双城市| 贺兰县| 凤阳县| 万山特区| 教育|