php表导出到Excel

时间:2015-01-14 07:43:15

标签: php html excel

我正在尝试将带有数组的php表导出到Excel,我有一些困难。 enter image description here

一旦我点击获取日期,弹出一个日期选择器,当用户点击他想查看通话记录的特殊日期时,代码将加载当天的所有信息。它工作得很好,已经在带有回声的php表上进行了测试,数组很好等等。

但是现在我尝试将表导出到Excel文档。它让我下载文件,但是当我在excel上打开它时,它会显示你在excel上的截图上看到的内容..而不是包含所有信息的表格。 所以它实际上显示了我enter image description here

我想导出表格的结果。你可以在这里看到: enter image description here

形式:

<form action='getlist.php' method='post'> 
    <input type='text' name='exte' class='exte' value="<?php echo $_POST['exte']?>">  
    <input type='text' name='datepick2' class='datepick2' value='Kies een datum!'>
    <input type='submit' name='aanvragen' id='aanvragen' value='aanvragen'>
</form>

在这里查看标题和内容

if (isset($_POST['datepick2'])) {
        $date = strtotime($_POST['datepick2']);
        $milliseconds = round($date * 1000);
        $request_url = url.cdr."?realm=".realm."&ext=".$_POST['exte']."&from=".$milliseconds;  // wil je de link boven aan weg halen moet je deze echo ff weg doen.
        $gettoken = substr($_SESSION['token'], 0, -1);
        $ch = curl_init();
        $filename = "website_data_" . date('Ymd') . ".xls";
        header("Content-Disposition: attachment; filename=\"$filename\"");
        header("Content-Type: application/vnd.ms-excel");       
        $request_headers = array();
        $request_headers[] = 'Content-Type: application/json; charset=utf-8';
        $request_headers[] = 'x-auth-token: '.$gettoken;

        curl_setopt($ch, CURLOPT_URL, $request_url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,TRUE);
        curl_setopt($ch, CURLOPT_HEADER,FALSE);

        $response  = curl_exec($ch);

        $response = json_decode($response, true);

这是我用于下载的内容:

$filename = "website_data_" . date('Ymd') . ".xls";
    header("Content-Disposition: attachment; filename=\"$filename\"");
    header("Content-Type: application/vnd.ms-excel");

表:

echo    "<table div id='arraytable'>
                        <thead>
                        <tr>
                        <td>Beller</td>
                        <td>Beller nummer</td>
                        <td>datum</td>
                        <td>ontvanger naam<td>
                        <td>ontvanger nummer</td>
                        <td>Billing seconds</td>
                        <td>Direction</td>




                        </tr>";     

            foreach ($response as $key => $value) {

                echo "
                    <tr>
                    <td>".$value ['caller_id_name']."</td>
                    <td>".$value ['caller_id_number']."</td>
                    <td>".$value ['timestamp']."</td> 
                    <td>".$value ['callee_id_name']."</td>
                    <td>".$value ['callee_id_number']."</td>
                    <td>".$value ['billing_seconds']."</td>
                    <td>".$value ['direction']."</td>
                    ";
            } 

1 个答案:

答案 0 :(得分:2)

我想我确实修好了:) 在表格代码之后我放了$filename->save('php://output'); 似乎我错过了这个,因为它现在确实有效,它现在很不错,但它确实有效。 现在我要调试,谢谢人们:)。