2016-07-27 38 views
0

我正在从数据库中以Excel文件格式(CSV格式)下载一些数据。在CSV文件中下载MySQL数据时,CSV文件的内容类型应该是什么?

我正在使用标头方法下载CSV文件。

我的代码如下...

header("Content-Type: application/csv"); 
header("Content-Disposition: attachment; filename=export.csv"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 

但下载文件并打开它后,它显示“格式不正确”的错误。我如何以适当的格式下载它?

回答

1

因为我们不知道,也没有表查询作为源的CSV文件,更重要的是,我们不知道包含在CSV文件中的数据,我们不能给你准确的答案。

但请记住,CSV不是标准格式,因此实现可能会有所不同。

由于您使用的软件具有不同的实现(例如,它无法解析多行值,如描述文本),您可以获取错误消息。

典型的问题主要有:

  • 文本值不qouted(他们可以包含分隔符)
  • 文本值qouted但不能正确转义(其中一些可以包含引号字符)
  • 数字值以本地化格式导出,读取数据的应用程序试图在另一个区域中解析它们
  • 某些值包含行尾,并且读取数据的软件无法处理多行值

如果您手动组装CSV内容,请确保您以目标软件可以处理的方式进行操作。

使用简单和短的数据测试您的代码(CSV生成),以确保它工作正常。

根据RFC4180,CSV文件的内容类型为text/csv。 PS:将你的问题标记为“你不清楚你在问什么”,因为提供的信息不足以解决问题并缩小问题范围。

1

使用以下代替application/csv。添加文字如下面的代码:

header("Content-type: text/csv");