【问题标题】:How to create nice looking CSV with codeigniter如何使用 codeigniter 创建漂亮的 CSV
【发布时间】:2013-08-05 14:51:43
【问题描述】:

我正在使用 codeigniter 来开发一个系统。 我相信我的问题对你来说有点容易。 这是我的 codeignter 代码。

$delimiter = ",";
$newline = "\r\n";
$data= $this->dbutil->csv_from_result($MYSQLRESULT,$delimiter, $newline);
write_file('./public/uploads/client.csv', $data);

但是当它创建 csv 文件时,它看起来像这样

有没有办法让它看起来不错?我希望标题保持分开,所有字段也一样。我不想要逗号或任何东西。 请帮忙。我认为问题出在我的分隔符上,但我不知道该怎么做。

编辑:我希望它看起来像这样:

【问题讨论】:

  • 你能用一个'nice'输出的例子来更新你的问题吗?
  • 您不能在不破坏 CSV 文件的情况下摆脱引号。引号用于指示值的开始和结束位置,并且值中的任何引号都被转义,因此它们不会与外部引号混淆。您可以重写 CSV,以便它不使用引号而不是使用任何内容,然后将分隔符设置为制表符/空格,但是您需要转义值中的任何制表符/空格。此外,无论您使用什么应用程序来查看它,都需要告知新的分隔符是什么。这真的不值得。保持原样,任何智能电子表格程序都应该能够解析它。
  • 所以我不能以任何方式将每个值放在一个框中?
  • 显然您使用的程序未正确解析要显示的文件。例如,如果我在我的办公程序中打开一个像你这样的 CSV 文件,它会按照你的意图解析和显示文件(很好)。
  • CSV 格式正确,问题是您用于打开 csv 的应用程序。通常在 open office 中打开 csv 文件时,系统会提示您输入您使用哪些字符作为分隔符,以及数据是否包含在双引号中。

标签: codeigniter csv


【解决方案1】:

在第一行用 sep= 告诉 excel 分隔符

write_file('./public/uploads/client.csv', "sep=,\n" . $data);

【讨论】:

    猜你喜欢
    • 2013-05-20
    • 2012-07-20
    • 2016-11-06
    • 1970-01-01
    • 2013-05-25
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    相关资源
    最近更新 更多