php - 导出 .CSV 文件,如果我使用列名称导出它,它会告诉我它是 SYLK 格式

标签 php html mysql excel csv

将内容从 SQL 数据库表导出到 .csv 文件。如果我添加列名称,则在尝试打开下载的 .csv 文件时会出现以下错误:

Error #1

Error #2

但是,如果我在没有列的情况下导出它,它将正常打开而不会出现错误。我尝试将 Content-Type: 从 text/csv 更改为 application/csv,但没有更改任何内容。我没主意了。

<?php
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=applications.csv");
header("Pragma: no-cache");
header("Expires: 0");

ini_set('display_errors',1);
$private=1;
error_reporting(E_ALL ^ E_NOTICE);

mysql_connect("localhost", "root", "root") or die(mysql_error());
mysql_select_db("cif") or die(mysql_error());

$query = "SELECT * FROM applications";
$select_c = mysql_query($query) or die(mysql_error());

/* The line below is what I comment out to remove the column names */
$result.="ID,LAST_NAME,FIRST_NAME,ORGANIZATION,TITLE\n"; 
/* The line above is what I comment out to remove the column names */

while ($row = mysql_fetch_array($select_c, MYSQL_ASSOC))
{
    $result.="{$row['ID']},";
    $result.="{$row['LAST_NAME']},";
    $result.="{$row['FIRST_NAME']},";
    $result.="{$row['ORGANIZATION']},";
    $result.="{$row['TITLE']},";
    $result.="\n";

}
    echo $result; 
?>

最佳答案

看起来您有许多列不匹配。

标题行有 5 个条目,但后续行有 6 个条目(因为尾随逗号)。

您可以在标题行末尾添加逗号,也可以从数据行中删除尾随逗号。

<小时/>

编辑: SYLK 文件以“ID”开头。 http://support.microsoft.com/kb/323626

使您的第一个列名称不以“ID”开头,这样您就可以开始了。

关于php - 导出 .CSV 文件,如果我使用列名称导出它,它会告诉我它是 SYLK 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16799792/

相关文章:

PHP插入大量值问题

php - php递归获取 child 的 child

html - 为什么浏览器不从缓存中加载 cdn 文件?

javascript - 防止双重提交并允许 "required"字段

mysql - 从 'grouping table' 删除时级联删除不起作用

PHP 变量的动态名称

php - 来自在主页上循环的类别的 wordpress 随机帖子

html - 如何使用 CSS 缩进 html 输出

mysql - 我的笔记本电脑上有一个 mysql 数据库。当我不使用本地计算机时如何连接到它?

php - 显示所有带有 php inner join 的帖子