mysql数据导入导出 CSV格式_mysql数据一键导出到csv文件

在数据库中获取数据的结果集,通过fputcsv() 函数将行格式化为 CSV 并写入一个打开的文件。

fputcsv('打开的文件','数组数据'),该函数返回写入字符串的长度。若出错,则返回 false。

示例代码:

//声明为excel文件

header('Content-Type: application/vnd.ms-excel');

//定义文件名

header('Content-Disposition: attachment;filename="csv_'.date('Ymd',time()).'.csv"');

//设置无缓存,每次页面刷新都到服务器拉取数据

header('Cache-Control: max-age=0');

//从数据库查询数据获取结果集

$sql = "select name,title,num,fid,details from user ORDER BY `id` DESC";

$res = $nsodb->get_results($sql, ARRAY_A);

//打开文件,php://output输出到浏览器

$fp = fopen('php://output', 'a');

//定义表格标题

$head = array('名字', '标题', '编号', 'id', '简述');

foreach ($head as $i => $v) {

//设置键值数组

$head[$i] = iconv('utf-8', 'gbk', $v);

}

//写入标题

fputcsv($fp, $head);

//遍历从数据库获取的数据结果集,给数组,并转码成中文编码

foreach ($res as $row) {

foreach ($row as $i => $v) {

$row[$i] = iconv('utf-8', 'gbk', $v);

}

//依次把数据写入到csv文件中

fputcsv($fp, $row);

}

//关闭文件

//fclose($fp);

exit;

?>

你可能感兴趣的:(mysql数据导入导出,CSV格式)