下面我来给各位同学简单的分享两个利用php操作csv格式文件的例子,一个是对csv输出下载,另一个是利用php的fgetcsv函数、fputcsv函数进行读写操作.
导入、导出CSV文件,代码如下:
- class csv
- {
- private $resource;
-
-
-
-
-
- public function __construct($fileName, $mode)
- {
- $this->resource = fopen($fileName, $mode);
- }
-
- public function __destruct()
- {
- fclose($this->resource);
- }
-
-
-
-
-
-
- public function export($data)
- {
- fputcsv($this->resource, $data);
- }
-
-
-
-
-
- public function import()
- {
- $tmp = array();
- while($data = fgetcsv($this->resource))
- {
- $tmp[] = $data;
- }
-
- return $tmp;
- }
- }
这里我们主要用到了php fgetcsv函数、fputcsv函数,CSV文件下载代码如下:
- function exportUserTask()
- {
-
-
-
-
-
-
-
-
- $handle = fopen('php://output', "w");
- header('Content-Type: application/csv');
- header('Content-Disposition: attachment; filename="test.csv"');
-
-
- fputcsv($handle, array('用户UID', '用户名', '进行中', '已完成', '已失败', '总计'));
-
- foreach($result as $value)
- {
- fputcsv($handle, $value);
- }
-
- fclose($handle);
- }
需要提醒的是在导入、导出数据过程注意中文乱码问题,这主要是数据编码格式问题,使用过程根据实际情况对数据进行转码. |