【问题标题】:HTML TABLES EXCEL PHP MYSQLHTML 表格 EXCEL PHP MYSQL
【发布时间】:2011-09-24 10:17:36
【问题描述】:

我正在尝试将 mysql 数据导出到 excel 中。我已经尝试过 phpexcel 类,但无法在我的主机上使用它,因为它们没有安装 zip 功能。我无法将数据导出到 csv,因为客户“希望看到纯色......”所以格式化是必须的。所以看起来我被困在构建一个表格以传递给 Excel。 (除非有人对其他课程有任何想法!)

我的代码有问题,它可以很好地导出到 Excel,并且第一行的格式正确。在所有后续行中,所有数据都“转储”到一个单元格中。 代码如下:

$table .= '<table border="0" cellpadding="0" cellspacing="0"><tr>'; 
        $table .= '<td style="background-color:#000099;color:#FFFFFF;">Date</td>';
        $table .= '<td style="background-color:#000099;color:#FFFFFF;">Name</td>';
        $table .= '<td style="background-color:#000099;color:#FFFFFF;">Address</td>';
        $table .= '<td style="background-color:#000099;color:#FFFFFF;">City</td>';
        $table .= '</tr>';
        while($row=mysql_fetch_array($result)){
        $table .= '<tr>';
        $table .= '<td style="background-color:#FFFCCC">'.$row['date'].'</td>';
        $table .= '<td style="background-color:#FFFCCC">'.$row['name'].'</td>';
        $table .= '<td style="background-color:#FFFCCC">'.$row['address'].'</td>';
        $table .= '<td style="background-color:#FFFCCC">'.$row['city'].'</td>';
        $table .= '</tr>';
        $table .= '</table>';
        }
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Disposition: attachment;filename=Itinerary-$today.xls "); 
header("Content-Transfer-Encoding: binary ");
echo $table;

感谢任何人可以就这个主题分享的任何想法!

【问题讨论】:

    标签: php mysql export-to-excel


    【解决方案1】:

    尝试移动这条线:

    $table .= '</table>';
    

    到循环之外。

    循环的最后几行应该是这样的:

        $table .= '</tr>';
    }
    $table .= '</table>';
    

    您在循环之前打开了一个表格,您应该在循环之后关闭表格。

    【讨论】:

    • 卫生署!手掌拍在我的额头上!非常感谢!
    • @matt colley:技术术语是“掌心”;)
    【解决方案2】:

    用 CSV 导出它,然后在你的本地主机上导入它,现在重新导出它并且有漂亮的导出功能工作。也许您需要在您的 PC 上安装一个 LAMP 堆栈,无论如何都要方便。

    【讨论】:

      【解决方案3】:

      你在错误的地方关闭了桌子。

      它应该在while之外。

      【讨论】:

        猜你喜欢
        • 2013-08-19
        • 1970-01-01
        • 1970-01-01
        • 2017-10-23
        • 1970-01-01
        • 2017-12-23
        • 2013-06-12
        • 1970-01-01
        相关资源
        最近更新 更多