`
guoyiqi
  • 浏览: 1010233 次
社区版块
存档分类
最新评论

PHP导出MySQL数据到Excel文件

 
阅读更多

经常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存使用上限。这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件。

  

  // 输出Excel文件头,可把user.csv换成你要的文件名

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

  header('Content-Disposition: attachment;filename="user.csv"');

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

  // 从数据库中获取数据,为了节省内存,不要把数据一次性读到内存,从句柄中一行一行读即可

  $sql = 'select * from tbl where ……';

  $stmt = $db->query($sql);

  // 打开PHP文件句柄,php://output 表示直接输出到浏览器

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

  // 输出Excel列名信息

  $head = array('姓名', '性别', '年龄', 'Email', '电话', '……');

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

  // CSV的Excel支持GBK编码,一定要转换,否则乱码

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

  }

  // 将数据通过fputcsv写到文件句柄

  fputcsv($fp, $head);

  // 计数器

  $cnt = 0;

  // 每隔$limit行,刷新一下输出buffer,不要太大,也不要太小

  $limit = 100000;

  // 逐行取出数据,不浪费内存

  while ($row = $stmt->fetch(Zend_Db::FETCH_NUM)) {

  $cnt ++;

  if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题

  ob_flush();

  flush();

  $cnt = 0;

  }

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

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

  }

  fputcsv($fp, $row);

  }


分享到:
评论

相关推荐

    PHP导出数据到excel文件

    标题"PHP导出数据到excel文件"和描述中提到的"PHP导出MySQL数据到excel文件"正是关于这个主题的,它涉及到了PHP编程语言与MySQL数据库的结合,以及如何利用PHP生成Excel文件供用户下载。 PHP是一种广泛使用的服务器...

    PHP实现导出MySQL数据到excel1

    本文将介绍如何使用PHP 7和PDO数据对象从MySQL数据库中导出数据到Excel文件。首先,我们搭建开发环境,包括Windows 7上的Apache 2.4.18、MySQL 5.7.11和PHP 7.1.0。文本编辑器使用Sublime Text 3。 在PHP中,我们...

    PHP实现导出MySQL数据到excel

    PHP实现导出MySQL数据到excel ...本案例主要使用PHP 7中的PDO数据对象对MySQL数据库进行查询操作,实现数据库中数据的获取,同时使用header()函数来设置文件的输出类型,从而实现导出MySQL数据到excel的功能。

    PHP导出MySQL数据到Excel文件(fputcsv)

    在本文中,我们将深入探讨如何使用`fputcsv`导出MySQL数据到Excel文件,并讨论相关技术细节。 首先,让我们了解`fputcsv`函数。`fputcsv`是PHP内建的函数,它的主要作用是将数组作为CSV(逗号分隔值)格式的行写入...

    PHP导出数据到excel

    总之,使用PHP将数据从MySQL导出到Excel文件是一个实用的功能,结合`mysqli`或`PDO`进行数据库操作,以及`phpspreadsheet`这样的库处理Excel文件,可以实现高效且灵活的数据导出。确保在实际项目中考虑性能、安全性...

    php excel导入导出,php导入mysql,mysql 数据导出为excel

    本项目包含一个带样式的小实例,页面可以直接导入数据,导入的数据存入mysql数据库,也可以导出excel,导出excel文件位于downloads目录下, 需要将较长的样本数据从 Excel 文件导入到 MYSQL 数据库,此项目包含一个 ...

    php 实现从mysql导出excel中

    这篇教程将详细介绍如何使用PHP实现从MySQL数据库导出数据到Excel文件。 首先,我们需要理解基本的流程。这个过程通常包括以下几个步骤: 1. **连接MySQL数据库**:使用PHP的`mysqli_connect`或`PDO`函数建立与...

    php将mysql导出到excel

    php 将数据库导出到excel表中,将cvs数据导入到mysql

    PHP+Excel导出Mysql数据字典

    使用 Mysqli 驱动,支持PHP7.2,可以一键导出Mysql数据字典,数据库配置信息在第 88 行,修改未响应的IP地址、用户名、密码即可。 导出后打开 Excel 时会提示文件格式与文件扩展名指定的格式不一致。没有关系,确定...

    PHP导出mysql数据字典方法

    使用PHP导出Mysql数据库数据字典工具,可用来作为项目数据库说明文档

    PHP+Mysql导入或导出Excel文件

    导出MySQL数据到Excel文件的过程则相反: 1. **查询MySQL数据**:使用SQL语句从MySQL数据库中获取需要的数据,可以是单个表或多个表的联接结果。 2. **初始化PHPExcel对象**:创建一个新的PHPExcel对象,并创建一...

    PHP导入和导出CSV EXCEL实例代码 mysql数据库

    本文将详述如何使用PHP来实现CSV和Excel文件的导入与导出,并结合MySQL数据库进行数据操作。以下是对给定文件信息的具体解析: 标题中的"PHP导入和导出CSV EXCEL实例代码"指的是使用PHP编写程序,实现对CSV(逗号...

    php导出任意mysql数据库中的表去excel文件

    在PHP中将MySQL数据库中的数据导出到Excel文件是一项常见的任务,这有助于数据备份、分析或分享。本篇文章将详细讲解如何实现这个功能,并结合给定的资源进行解析。 首先,我们需要了解基本概念。PHP是一种服务器端...

    php导入导出Excel

    1. **导出MySQL到Excel**:先通过SQL查询获取数据库中的数据,然后用PHP将数据写入Excel文件,过程类似于上述的导出步骤。 2. **导入Excel到MySQL**:上传Excel文件,读取数据,然后批量插入或更新数据库。注意处理...

    用php将mysql数据表转换为excel文件格式

    至此,我们已经完成了从MySQL数据表到Excel文件的转换。这个过程在实际应用中可能需要根据具体需求进行调整,比如添加错误处理、数据格式化、分页导出等。此外,如果数据量非常大,可能需要考虑分批处理以避免内存...

    destoon添加数据导出到excel表格中.doc

    在进行二次开发时,有时我们需要将数据库中的数据导出到 Excel 表格中,以便进行数据分析或备份。以下是一个关于如何在 Destoon 系统中实现这一功能的详细步骤。 首先,你需要添加 PHPExcel 库,这是一个专门用于...

    Php 导出数据为EXCEL程序

    总的来说,PHP导出数据库数据到Excel涉及数据库连接、查询、数据处理、Excel文件操作以及HTTP响应设置等多个环节。通过使用合适的库,如PHPExcel或SimpleXLSX,可以简化这个过程,实现高效且功能丰富的数据导出。

    php上传excel数据到mysql数据库

    在IT领域,将Excel数据导入MySQL数据库是一种常见的需求,特别是在数据处理和分析中。这里我们将详细探讨如何使用PHP实现这个过程。PHP作为一种流行的服务器端脚本语言,与MySQL数据库配合使用,可以方便地进行数据...

    php实现利用phpexcel导入导出数据至excel

    1,建立mysql数据库,把excel_demo.sql导入到你的数据库,采取utf-8编码; 2,导入时候请按照xls/demo.xls的格式导入,在linux系统下 xls目录要有下的权限; 3, 默认只有一条数据,导出至少有一条数据; 4,如果数据...

Global site tag (gtag.js) - Google Analytics