mysqli导出到xls问题

时间:2015-02-20 19:51:45

标签: php mysqli export xls

我发现了这项工作,我无法弄明白这是什么问题。 我下载了一个xls文件,但它会打开。 我有一个像这样的mysql脚本,工作,我试图将其转换为mysqli,可能是出了点问题...... 提前致谢

$sqlExp = "SELECT * FROM table";
    $countQryExp  = mysqli_query($link, $sqlExp );
  $filename = "sampledata.xls"; // File Name

header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");

$flag = false;

while($row=mysqli_fetch_array($countQryExp,MYSQLI_ASSOC))
                {
    if(!$flag) {
      // display field/column names as first row
      echo implode("\t", array_keys($row)) . "\r\n";
      $flag = true;
    }
    echo implode("\t", array_values($row)) . "\r\n";
  }

1 个答案:

答案 0 :(得分:1)

生成Excel文件要比提供内容类型application/vnd.ms-excel要多得多。 Excel是一种非常特殊的格式,而您正在生成TSV文件 - 制表符分隔值,并且以非常易碎的方式(如果有人在您的某个网站的字段中放置\t会发生什么情况,还是新的一行?)。

如果您想生成真实的Excel文件,那么您需要one of the various libraries这样做。如果CSV / TSV正常,只需导出带有正确标题的.csv / .tsv文件。