gpt4 book ai didi

php - 使用 PHP 为 Mac 用户编写 CSV 文件

转载 作者:行者123 更新时间:2023-11-29 15:03:43 24 4
gpt4 key购买 nike

我使用通用算法来编写理论上适用于主要操作系统的 CSV 文件。然而,几周前客户开始使用Mac,他们一直告诉我CSV文件无法在Microsoft Excel 2008 for Mac 12.2.1中读取。

他们的操作系统配置为使用“分号;”作为列表分隔符,这正是我在 CSV 中编写的内容。他们还说,当他们在记事本中打开文件时,他们注意到没有换行符,所有内容都显示在一行中;这就是Excel无法正确读取文件的原因;但在我的代码中,我使用跨浏览器换行符 \r\n

这是我使用的完整代码:

header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
// Output to browser with appropriate mime type, you choose ;)
header("Content-type: text/x-csv");
//header("Content-type: text/csv");
//header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=participantes.csv");

$separator = ";";
$rs = $sql->doquery("SELECT A QUERY TO RETRIEVE DATA FROM THE DB");

$header = "";
$num_fields = mysql_num_fields($rs);

for($i=0; $i<$num_fields; $i++){
$field = mysql_field_name($rs, $i);
$header .= $field.$separator;
}

echo $header."\r\n";

while($row = $sql->fetch($rs)){
$str = "";
for($i=0; $i<$num_fields; $i++){
$field = mysql_field_name($rs, $i);
$value = str_replace(";", ",", $row->{$field});
$value = str_replace("\n", ",", $value);
$value = str_replace("\d", ",", $value);
$value = str_replace(chr(13), ",", $value);
$str .= $value.$separator;
}
echo $str."\r\n";
}

我可以做些什么以便 Mac 用户可以正确读取该文件吗?

最佳答案

出于调试目的:

  1. 创建 CSV 文件并通过邮件发送给他们。他们能打开吗?
  2. 让他们从您的页面下载文件并将其发送回给您。在十六进制编辑器中比较文件,以排除它们与您发送到浏览器的文件或您保存的文件看起来不同的可能性。
  3. 让他们仔细检查他们的 Excel 设置。
  4. 让他们从头开始创建一个可用的 CSV 文件(Mac 上的文本编辑器),并找出与您的方法有何不同之处。

关于php - 使用 PHP 为 Mac 用户编写 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2601162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com