阅读模式:

mysql数据一键导出到csv文件

查看:7386  回复:0  类型:  来源:php自学网  标签 mysql

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

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


示例代码:

<?php
//声明为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;
?>


分享到:
0 0

发布评论:


登录:
  表情:
提交