PHP输出导出excel表格


PHP output to export excel sheet

我的代码输出是这样的,最多打印100个表行。

我也想导出到excel中

<h2>Results</h2>
<table width=80%><tr><th width="40%">Head1</th><th nowrap width="20%">Head2</th><th nowrap width="20%">Head3</th></tr>
    <?php $count = count($abc);
    for ($i = 0; $i < $count; $i++)
    {
         $cont=round($abc[$i]->a);
         $pa = $p->get($abc[$i]->u);     
        echo "<tr><td><a href='" . $abc[$i]->u . "' target='_blank'>" . $abc[$i]->u . "</a></td><td align='center'>" . $cont . "</td><td align='center'>" . $pa . "</td></tr>";
    }
    ?>
    </table>

try phoffice 'PHPExcel library

https://github.com/PHPOffice

这将创建一个名为output

的CSV文件
if($fh = fopen("output.csv","w")){
    for ($i = 0; $i < $count; $i++){
        $cont=round($abc[$i]->a);
        $pa = $p->get($abc[$i]->u);     
        fputcsv($fh,array($abc[$i]->u,$cont,$pa));
    }
    fclose($fh);
}

有一个小技巧可以直接将HTML表格导出到Excel中。

一旦你生成了你的HTML表格,只需通过设置下面的标题提供它作为下载:

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=test.xls");

注意,我建议在执行此操作之前删除您的<h2>和任何其他HTML,因此它只留下一个表。这个小技巧的一个优点是,它也会保存你的格式,所以任何粗体文本,背景颜色或其他任何东西都被保留下来。如果用户想要一个"真正的"Excel文件,他们可以简单地保存它。

另一种选择是将其输出为CSV,或使用第三方库(如PHPExcel)来实现所需的功能。但是,对于这种简单的输出,我建议使用Excel打开HTML表,或者使用CSV作为最快的方法。

您可以使用下面的代码在excel

上获得输出
$csv_output.=''n';
$csv_output.='<h2>Results</h2>';
    $csv_output.=''n';
 for ($i = 0; $i < $count; $i++)
    {
         $cont=round($abc[$i]->a);
         $pa = $p->get($abc[$i]->u);     
         $csv_output.= $abc[$i]->u . "," . $cont . "," . $pa . "'n";
    }

         header("Content-type: application/vnd.ms-excel");
         header("Content-disposition: csv" . date("Y-m-d") . ".csv");
         header( "Content-disposition: filename=".$filename.".csv");
         print $csv_output;

所以您需要创建一个逗号分隔的字符串'n表示excel中的新行