这就是我所拥有的:
$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检查是否有< BR>但没有..这里有什么问题?
答案 0 :(得分:5)
我在客户端项目中使用了PHPExcel,效果很好。它可以生成Microsoft Excel,Open Excel和PDF文档。
您可能会发现文件格式为CSV限制。
较新但尚未稳定的项目是PhpSpreadsheet。 它还支持更多格式。
答案 1 :(得分:0)
您尝试制作的内容似乎是CSV文件(逗号分隔值),其中tab为分隔符。
您可以使用PHP的函数fputscsv函数来完成相同的任务。
代码示例(来自PHP手册):
$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);