php匯出CSV抽象類例項

2022-10-06 06:09:12 字數 2929 閱讀 5752

該php匯出csv抽象類,可根據總記錄數與每批次記錄數,計算總批次,迴圈匯出。避免記憶體不足的問題。

exportcsv.class.php類檔案如下:

<?php /** php export csv abstract class,根據總記錄數與每批次記錄數,計算總批次,迴圈匯出。

* date: 2014-05-16

* author: fdipzone

* ver: 1.0

* * func:

* public setpagesize 設定每批次匯出的記錄條數

* public setexportname 設定匯出的檔名

* public setseparator 設定分隔符

* public setdelimiter 設定定界符

* public export 執行匯出

* private getpagecount 計算匯出總批次

* private setheader 設定匯出檔案header

* private formatcsv 將資料格式化為csv格式

* private escape 轉義字串

* abstract getexporttotal 獲取總記錄條數,抽象方法,需繼承類實現

* abstract getexportfields 獲取匯出的列名,抽象方法,需繼承類實現

* abstract getexportdata 獲取每頁記錄,抽象方法,需繼承類實現

*/

abstract class exportcsv

} /** 設定匯出的檔名

* @param string $filename 匯出的檔名

*/ public function setexportname($filename)

} /** 設定分隔符

* @param string $separator 分隔符

*/ public function setseparator($separator)

} /** 設定定界符

* @param string $delimiter 定界符

*/ public function setdelimiter($delimiter)

} /** 匯出csv */

public function export()

// 計算匯出總批次

$pagecount = $this->getpagecount();

// 獲取匯出的列名

$fields = $this->getexportfields();

// 設定匯出檔案header

$this->setheader();

// 迴圈匯出

for($i=0; $iformatcsv($fields);

} // 設定偏移值

$offset = $i*$this->pagesize;

// 獲取每頁資料

$data = $this->getexportdata($offset, $this->pagesize);

// 將每頁資料轉換為csv格式

if($data)

} // 匯出資料

echo $exportdata;

} }

/** 計算總批次 */

private function getpagecount()

/** 設定匯出檔案header */

private function setheader()elseif(preg_match("/firefox/", $ua))else

ob_end_flush();

ob_implicit_flush(true);

} /** 格式化為csv格式資料

* @param array $data 要轉換為csv格式的陣列

*/ private function formatcsv($data=array())

/** 轉義字串

* @param string $str

* @return string

*/ private function escape($str)

} // class end

?>

demo示例程式如下:

<?php // exportcsv abstract class

require "exportcsv.class.php";

// 定義繼承類

class myexport extends exportcsv

/** 返回匯出的列名

* @return array

*/ protected function getexportfields()

/* 返回每批次的記錄

* @param int $offset 偏移量

* @param int $limit 獲取的記錄條數

* @return array

*/ protected function getexportdata($offset, $limit) }

// 匯出

$obj = new myexport();

$obj->setpagesize(1);

$obj->setexportname('myexport.csv');

$obj->setseparator(',');

$obj->setdelimiter('"');

$obj->export();

?>

www.cppcns.com

完整例項**點選此處本站**。

本文標題: php匯出csv抽象類例項

本文位址:

PHP抽象類 無法例項化

類前加 abstract,此類就成為抽象類,無法例項化.舉例 春秋戰國時期,燕零七 飛行器專家,能工巧匠.他寫了乙份圖紙 飛行器製造術 飛行器秘製圖譜 他的孫子問 發動機怎麼造呢?燕零七眼望夕陽 我是造不出來,但我相信後代有人造出來 燕零七的構想,當時的科技造不出來,即這個類只能在圖紙化,無法例項化...

php 陣列匯出csv php匯出CSV抽象類例項

這篇文章主要介紹了php匯出csv抽象類及其用法示例,可實現迴圈匯出功能,從而避免記憶體不足的問題,需要的朋友可以參考下 該php匯出csv抽象類,可根據總記錄數與每批次記錄數,計算總批次,迴圈匯出。避免記憶體不足的問題。exportcsv.class.php類檔案如下 php export csv...

php 匯出csv檔案例項

csv是以逗號間隔的文字檔案 開發中,匯出功能經常會用到,當資料量比較大的時候,發現csv格式的效率要比xls的效率要高一些,以yii先開發為例,優化 資料匯出 public filename 方法1 public function export item iconv utf 8 gbk val p...