php 生成csv檔案

2021-08-19 10:49:18 字數 2796 閱讀 2356

廢話不多說,上乾貨

方法一:

/**

* 匯出excel(csv)

*@data

匯出資料

*@headlist

第一行,列名

*@filename

輸出excel檔名

*/functioncsv_export

($data

=array()

, $headlist

=array()

, $filename

) //將資料通過fputcsv寫到檔案控制代碼

fputcsv(

$fp,

$headlist);

//計數器

$num = 0

;//每隔$limit行,重新整理一下輸出buffer,不要太大,也不要太小

$limit

= 100000

;//逐行取出資料,不浪費記憶體

$count

= count(

$data);

for(

$i = 0;

$i <

$count

; $i

++)

$row

= $data[$i

];foreach(

$row

as$key

=>

$value

) fputcsv(

$fp,

$row);

}}

方法二:

public functiongetexportlog

()$oviewlog

=newdbspatientviewlog()

;$result

= $oviewlog

->

getallinfo();

$sname

= time()

;$dataname

=date(

'ymd');

$exportdir

= public_path().

"/exportfile/"

.$dataname

."/"

;if(!is_dir(

$exportdir

)) //生成csv檔案

$elsfile

=$exportdir

.$sname

.'.csv'

;$fp

= fopen(

$elsfile

, 'w');

$data=""

;$title

=implode(

',',

array(

'醫脈通加密id'

,'醫脈通id'

,'文章id'

,'參與的活動'

,'訪問活動首頁的時間'

,'訪問記錄資訊頁面的時間'

,'參與活動的方式'));

$data

=$title

;foreach(

$result

as$value)

$data

=iconv(

"utf-8"

, "gbk//ignore"

, $data);

fwrite(

$fp,

$data);

// 寫入資料

fclose(

$fp)

; //關閉檔案控制代碼

$download_dir

= "/exportfile/"

.$dataname

.'/'

.$sname

.'.csv'

;header(

"content-type:text/csv"

);

header(

"content-disposition:attachment;filename="

.$sname

.'.csv'

);

header(

'cache-control:must-revalidate,post-check=0,pre-check=0'

);

header(

'expires:0'

);

header(

'pragma:public'

);

echo$data

;}

以上雖是兩種方法,其實可以看成一種

流程:1、使用fopen()函式,開啟指定檔案,不存在建立檔案

2、對標題進行處理,是陣列的話,可以像第一段**一樣直接使用fputcsv()直接將資料寫到檔案控制代碼中去;或者使用第二段**使用implode()函式分割

3、對資料的處理,第一段是將資料一行一行資料格式轉換後寫入檔案;第二段是implode()分割資料,資料整體最終拼接在一起,轉換格式寫入資料;注:fwrite()寫入資料

4、關閉檔案控制代碼

PHP生成CSV檔案

眾所周知,csv檔案是以逗號 作為分隔符的一種檔案,那麼在知道組成原理的前提下,我們來操作它就方便多了。因為邏輯不難,具體請看下面的 和注釋。created by phpstorm.user chenyanphp qq.com date 2016 12 21 0021 time 下午 12 08 頭...

php生成csv檔案

function makecsv data head path file handle fopen path file wb 第一行if empty head fputcsv handle head fputcsv 函式將 head格式化為 csv 並寫入乙個開啟的檔案 fp。遍歷資料 foreac...

PHP生成CSV檔案

csv檔案的定義這裡就不多做介紹了,難能可貴的是用excel可以直接開啟csv檔案。用php輸出csv檔案本身很簡單,但是大家如果有業務需求,下面的 可以作為參考。tableheader array 姓名 性別 年齡 學院 班級 tablelength count tableheader 資料 da...