php - 使用 PHP 中的链接\按钮将 Mysql 数据导出到 MS Excel

标签 php mysql excel export

我是 PHP 新手,需要帮助使用 PHP 将选定内容从 Mysql 表导出到 MS Excel。我需要通过单击按钮或链接来完成此操作。

下面是我到目前为止所做的一段代码,但我一直收到警告“无法修改 header 信息 - header 已发送”。还建议一种通过单击按钮\链接导出表格的好方法。谢谢

//Export Contents

$header = '';

$data = '';

$fields = mysql_num_fields($sql);

//fetch header

for($i=0; $i < $fields; $i++)
{

    $header .= mysql_field_name($sql, $i)."\t";
}

//fetch data each row, store on tabular row data

while($row = mysql_fetch_row($sql))
{

    $line = '';
    foreach($row as $value)
    {
        if(!isset($value) || $value == "")
        {
            $value = "\t";
        }
        else
        {
            $value = str_replace('"', '""', $value);
            $value = '"'.$value.'"'."\t";
        }

        $line .= $value;
    }

    $data .= trim($line)."\n";
    $data = str_replace("\r", "", $data);
}

//Naming the excel sheet

$name = $customerFilter."_".date('d-m-y').".xls";

header("Content-type:application/vnd.ms-excel;name='excel'");

header("Content-Disposition: attachment; filename=$name");

header("Pragma: no-cache");

header("Expires: 0");

//Output Data

echo $header."\n\n".$data;

最佳答案

mysql查询

SELECT <column list>
FROM <table>
INTO OUTFILE '/tmp/somefilename.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

然后重定向到文件

关于php - 使用 PHP 中的链接\按钮将 Mysql 数据导出到 MS Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17291410/

相关文章:

c# - 访问 Microsoft.Office.Core.DocumentProperties 的性能问题

c# - 不带参数的 Excel DNA 函数在 Excel 函数向导中仍显示一个参数

excel - 如何将 Evaluate() 转换为不截断的字符串?

MySQL 将多个日期列合并为一个

mysql - Rails has_and_belongs_to_many

php:在异常处理程序中处理异常?

php - Woocommerce 自定义用户输入字段

sql - SQL 中的日期范围交集

javascript - 获取相关数组元素 AngularJS

php - "cryptographically secure"是什么意思?