PHP实现数据导入、CSV文件下载的例子
导入、导出CSV文件
代码:
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy7735')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy7735>class csv
{
private $resource;
/**
* @param string $fileName 文件路径
* @param string $mode 文件访问类型:w:写入、r:只读
*/
public function __construct($fileName, $mode)
{
$this->resource = fopen($fileName, $mode);
}
public function __destruct()
{
fclose($this->resource);
}
/**
* 导入CSV www.jiaochengji.com
* @param array $data
* @return int
*/
public function export($data)
{
fputcsv($this->resource, $data);
}
/**
* 导出CSV
* @return array
*/
public function import()
{
$tmp = array();
while($data = fgetcsv($this->resource))
{
$tmp[] = $data;
}
return $tmp;
}
}
这里我们主要用到了php fgetcsv函数、fputcsv函数。
CSV文件下载
function exportUserTask()
{
//获取数据库数据
/*
* $result = array(
* array(value1,value2,value3,value4,value5,value6),
* array(value1,value2,value3,value4,value5,value6),
* );
*/
$handle = fopen('php://output', "w");
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="test.csv"');
//表头 www.jiaochengji.com
fputcsv($handle, array('用户UID', '用户名', '进行中', '已完成', '已失败', '总计'));
foreach($result as $value)
{
fputcsv($handle, $value);
}
fclose($handle);
}
需要提醒的是在导入、导出数据过程注意中文乱码问题,这主要是数据编码格式问题,使用过程根据实际情况对数据进行转码。
您可能感兴趣的文章:
php读取csv、写入csv与导出csv文件
php导出csv文件函数(增强版)
使用PHP导入与导出CSV文件实例详解
php导出(生成)CSV文件的小例子
php读取csv文件内容的实例代码
php导出csv格式文件的例子
解决php csv文件导入mysql中文乱码
php导出与导入csv文件的例子
php导出csv时身份证号禁止科学计数
php读取与下载csv文件的示例代码