PHP鏈式操作輸出excel(csv)

2022-03-09 12:22:35 字數 2085 閱讀 1088

工作中經常會遇到產品運營讓匯出一些簡單的比較規範的資料,這時候要是有乙個簡單的方法可以用就簡單多了。下面是我的乙個輸出簡單的excel(csv)的方法類,用到了鏈式操作。說到鏈式操作,在jquery中可能經常用到,是不是也感覺到鏈式操作用起來很爽,我們也在這個類中實現下鏈式操作。

其實鏈式操作很簡單的,就是在前乙個類方法最後返回乙個該類的物件($this),提供給下乙個方法呼叫。

<?php 

class

array2csv

/**

* @desc 列印excel標題

* @param array $title 要輸出的標題行

* @param object array2csv 物件本身

*/public

function title($title

)

/**

* @desc 列印一行excel內容

* @param array $body 要輸出的內容

* @param object array2csv 物件本身

*/public

function body($body

)

$body = implode(",", $body

);

echo

$body."\n";

return

$this

; }

/**

* @desc 列印多行excel內容

* @param array $bodyarr 要輸出的多行內容

* @param object array2csv 物件本身

*/public

function multibody($bodyarr

) }

return

$this

; }

}$test = new array2csv('test');

$arr = array

(

array('[email protected]','奔跑的man1','奔跑的userman'),

array('[email protected]','奔跑的man2','奔跑的userman'),

array('[email protected]','奔跑的man3','奔跑的userman'),

array('[email protected]','奔跑的man4','奔跑的userman'),

array('[email protected]','奔跑的man5','奔跑的userman'),

array('[email protected]','奔跑的man6','奔跑的userman')

);$test->title(array('測試','呵呵','哈哈'))->body(array('100,sadkl','sdsas','sdvsvdd分'))->multibody($arr);

輸出的csv如下圖所示:

但是這裡面有個問題,從編碼是utf-8的資料庫中取出來的漢字輸出excel(csv)會亂碼,這個時候你要注意,要在獲取資料之前設定資料庫的編碼,比如說我的需要的是utf-8進行輸出,這個時候就要

$link = mysqli_connect($host, $user, $passwd, $db

);mysqli_query($link, "set names utf8");

進行編碼轉換方可正常顯示,下面是我的資料庫資訊和編碼前後效果:

資料庫資訊

設定資料庫編碼前後的對比

send me~

將文字資料輸出到Excel C 實現

目錄 為什麼要寫這篇 定義程式目標 設計程式之結構框圖 設計程式之功能邏輯 設計程式之 實現 全域性設定 涉及到文字框的操作 選擇excel檔案操作 excel開啟操作 查詢單元格,找到姓名 快遞單號所在列 文字框字串拆分操作 將文字框中拆分的字串放置在excel 的快遞單號列的對應行 excel關...

Php 鏈式執行,PHP實現鏈式操作的原理詳解

在乙個類中有多個方法,當你例項化這個類,並呼叫方法時只能乙個乙個呼叫,類似 db.php class db public function where code here public function order code here public function limit code here ...

Php 鏈式執行,PHP實現鏈式操作的三種方法詳解

在php中有很多字串函式,例如要先過濾字串收尾的空格,再求出其長度,一般的寫法是 strlen trim str 如果要實現類似js中的鏈式操作,比如像下面這樣應該怎麼寫?str trim strlen 下面分別用三種方式來實現 方法一 使用魔法函式 call結合call user func來實現 ...