php - 导出excel文件中的记录

标签 php mysql

<分区>

我创建了一个网络应用程序,我想添加一个功能,比如用户可以导出选定的记录...

Check Box   Name    Email

            Sumit   sumit@gmail.com
            Karan   karan@gmail.com

我想将这些记录导出到 excel 文件中,但只能导出选定的记录。

提前致谢

最佳答案

无需下载外部库 - 您所需的一切都已内置到 PHP 中。

步骤:

  1. 在php中查询得到你想要输出的行
    您可以使用 SELECT * FROM table WHERE id IN (1,2,...)
  2. 使用 mysql_fetch_array()mysql_fetch_assoc() 一次获取一行
  3. 使用 fputcsv() 将它们输出到以 csv 结尾的文件中 - 这将正确转义您的数据

http://www.php.net/manual/en/function.mysql-fetch-array.php
http://php.net/manual/en/function.fputcsv.php

Excel 将能够读取该文件。

覆盖 fputcsv 的默认值以使用制表符作为分隔符,Excel 将更容易读取文件。如果您使用逗号(默认设置),您可能需要选择逗号作为 Excel 导入的分隔符。

这是一个工作示例,假设您已经设置了行:

$rows; // predefined
$filename = 'webdata_' . date('Ymd') . '.csv';

header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/octet-stream"); 
// that indicates it is binary so the OS won't mess with the filename
// should work for all attachments, not just excel

$out = fopen("php://output", 'w');  // write directly to php output, not to a file
foreach($rows as $row)
{
  fputcsv($out, $row);
}
fclose($out);

关于php - 导出excel文件中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082523/

相关文章:

php - 在 MySQL 中查找可用的时间范围

MySQL 将时间转换为字符串 (Grafana)

php - Laravel 具有多种关系的 Eloquent 查询

php - MySQL:错误#2002

php - 如何在 Magento 中获取订单的完成日期

php - JSONException : Value <br cannot be converted into JSONobject

PHP无限Ajax循环: any problems?

javascript - 如何在我的网站上使用 HTML5 History Api?

mysql在查找重复项时获取所有记录

mysql - 可移植 MySql 驱动的应用程序