1

这就是我所拥有的:

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

4

2 回答 2

6

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

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

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

于 2013-01-15T21:32:31.010 回答
0

看起来您要创建的是一个以制表符作为分隔符的 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);
于 2013-01-15T21:28:31.917 回答