首页 > 解决方案 > 用 PHP 生成 XLSX

问题描述

我已经解决了其他此类问题,但其中大部分是使用外部库。我能够生成带有扩展名 .xls 的 excel,根本没有库。但是我知道在 PHP 中将 xls 更改为 xlsx 并不意味着我们可以生成 .xlsx 文件。那么有没有更简单的方法来做到这一点而不参考任何库?

        $output .= '</table>';
        $fileName = "ExcelFile".date('Y_m_d').".xls";
        header("Content-Type: application/xls");
        header("Content-Disposition: attachment; filename=$fileName");
        echo $output;

我之所以要这样做是因为当我生成 .xls 时,该文件会打开并显示一条消息:“该文件可能已损坏或不安全。除非您信任它的来源,否则不要打开它。你想还是打开它?”。有没有办法使用 .xls 避免此消息?因为根据我的研究,它没有出现在 .xslx 文件中。

编辑:根据评论,罪魁祸首似乎可能是 SQL 表。这是完整的代码。

...
...
 if(mysqli_num_rows($result)>0)
    {
        $output .= '
        <table class = "table" bordered = "1">
            <tr>
                <th>ID</th>
                <th>Name</th>
            </tr>       
        ';
        while($row = mysqli_fetch_array($result))
        {
            $output .= '
            <tr>
                <th>'.$row["ID"].'</th>
                <th>'.$row["Name"].'</th>
            </tr>
            ';
        }

        $output .= '</table>';
        $fileName = "ExcelFile".date('Y_m_d').".xls";
        header("Content-Type: application/xls");
        header("Content-Disposition: attachment; filename=$fileName");
        echo $output;
    }

标签: phpphpexcel

解决方案


推荐阅读