使用php创建.xls文件
这就是我所拥有的:使用php创建.xls文件,php,excel,export,fwrite,Php,Excel,Export,Fwrite,这就是我所拥有的: $sep = "\t"; //tabbed character $fp = fopen('registrars.xls', "w"); $schema_insert_rows = ""; //printing column names $schema_insert_rows.="#" . $sep; $schema_insert_rows.="Registrar" . $sep; $schema
$sep = "\t"; //tabbed character
$fp = fopen('registrars.xls', "w");
$schema_insert_rows = "";
//printing column names
$schema_insert_rows.="#" . $sep;
$schema_insert_rows.="Registrar" . $sep;
$schema_insert_rows.="Country" . $sep;
$schema_insert_rows.="Website" . $sep;
//$schema_insert_rows.="Postal Address" . $sep;
//$schema_insert_rows.="Contact Number" . $sep;
$schema_insert_rows.="Email Address" . $sep;
$schema_insert_rows.="\n";
fwrite($fp, $schema_insert_rows);
// printing data:
$row = 0; $i = 0; $schema_insert_rows = "";
$schema_insert_rows .= (++$row) . "" . $sep;
$schema_insert_rows .= $registrarArr[$i] . "" . $sep;
$schema_insert_rows .= $registrarArr[$i+1] . "" . $sep;
$schema_insert_rows .= $linkArr[$i] . "" . $sep;
$schema_insert_rows .= (string)(strip_tags($address)) . "" . $sep;
$schema_insert_rows .= (string)(strip_tags($phone)). "" . $sep;
$schema_insert_rows .= "email test";
$schema_insert_rows .= "\n";
fwrite($fp, $schema_insert_rows);
fclose($fp);
另一个专栏很好用,但我注释掉的那些专栏不适用于[邮政地址和电子邮件地址]。。如果我删除了注释,数据将转到下一行,尽管它应该与其他行在同一行上。。我通过var_dump查看是否有
但没有。。这里出了什么问题?看起来您试图创建的是一个以tab作为分隔符的CSV文件(逗号分隔的值) 您可以使用PHP的函数来完成相同的任务 代码示例(来自PHP手册):
看起来您试图创建的是一个CSV文件(以逗号分隔的值),其中以tab作为分隔符 您可以使用PHP的函数来完成相同的任务 代码示例(来自PHP手册): 我在一个客户项目中使用过,效果很好。它可以生成Microsoft Excel,打开Excel和PDF文档 您可能会发现文件格式CSV限制 较新但尚未稳定的项目是。 它还支持更多的格式。我在一个客户项目中使用过,效果很好。它可以生成Microsoft Excel,打开Excel和PDF文档 您可能会发现文件格式CSV限制 较新但尚未稳定的项目是。
它还支持更多的格式。注释中可能包含会破坏CSV格式的换行符。您可以尝试将每个字段用引号括起来,但不能确定这实际上不是您正在创建的xls文件,而是一个以制表符分隔的值文件。xls是一种二进制格式。使用PHP内置的fputcsv()函数来创建一个以制表符分隔的值文件也更容易。注释中可能包含会破坏CSV格式的换行符。您可以尝试将每个字段用引号括起来,但不能确定这实际上不是您正在创建的xls文件,而是一个以制表符分隔的值文件。xls是一种二进制格式。使用PHP的内置fputcsv()函数创建一个制表符分隔的值文件也更容易。我正在尝试创建.xls文件,而不是.csv。。如果我去掉了邮政地址和电话栏,那么在.xls格式中一切都很好。。我只是想知道为什么其他两个信息会出错..您上面的代码尝试做与fputcsv函数完全相同的事情,只是它自动转义可能有问题的值(我认为这是破坏您的代码的原因)。为什么不试一试呢?我正在尝试创建.xls文件,而不是.csv。。如果我去掉了邮政地址和电话栏,那么在.xls格式中一切都很好。。我只是想知道为什么其他两个信息会出错..您上面的代码尝试做与fputcsv函数完全相同的事情,只是它自动转义可能有问题的值(我认为这是破坏您的代码的原因)。你为什么不试一试呢?
$list = array (
array('#', 'Registrar', 'Country', 'Website', 'Email Address'),
array('123', '456', '789', 'aaa', 'bbb'),
array('123', '456', '789', 'aaa', 'bbb'),
);
$fp = fopen('registrars.xls', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields, "\t", '"');
}
fclose($fp);