在PHP导出期间定义新的列数据


Define new column data during PHP export

我被告知"''t"会"告诉"Excel这是一个新的列数据。

然而,它只是一个空白,我所有的单行数据都在一个单元格中,而不是单独的列。

我做错什么了吗?

while($row =mysqli_fetch_assoc($result))
{
$contents.=$row['idUsers']."'t";
$contents.=$row['First_Name']."'t";
$contents.=$row['Last_Name']."'t";
$contents.=$row['Email_Address']."'t";
$contents.=$row['Verified']."'n";
} 

当您为MS Excel创建CSV文件时,您会发现Excel的分隔符是特定于区域设置的,因此可能对一个人有效的分隔符不一定对另一个人有效。

一种尝试并强制解决问题的方法是使用sep=<x>行作为CSV文件的第一行;因此,如果您最初使用定义$content

$contents = "sep='t'n";

在开始while循环之前,您可能会发现,当您生成的文件加载到Excel 中时,这允许MS Excel正确识别您使用的分隔符

与其"滚动自己的"csv格式文件,不如使用PHP内置的fputcsv()函数,该函数还可以处理引用字符串,并通常为您简化

您尝试过CSV格式吗?

用逗号替换"''t"。。

while($row =mysqli_fetch_assoc($result))
{
$contents.=$row['idUsers'].",";
$contents.=$row['First_Name'].",";
$contents.=$row['Last_Name'].",";
$contents.=$row['Email_Address'].",";
$contents.=$row['Verified']."'n";
}

http://en.wikipedia.org/wiki/Comma-separated_values