使用php创build.xls文件

这是我的:

$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检查,看看有没有,但没有..这里有什么问题?

我在客户端项目上使用了PHPExcel ,效果很好。 它可以生成Microsoft Excel,打开Excel和PDF文档。

您可能会发现文件格式CSV限制。

较新的但尚未稳定的项目是PhpSpreadsheet 。 它也支持更多的格式。

它看起来像你试图做的是一个CSV文件(逗号分隔值)与选项卡作为分隔符。

您可以使用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);