我正在尝试将带有数组的php表导出到Excel,我有一些困难。
一旦我点击获取日期,弹出一个日期选择器,当用户点击他想查看通话记录的特殊日期时,代码将加载当天的所有信息。它工作得很好,已经在带有回声的php表上进行了测试,数组很好等等。
但是现在我尝试将表导出到Excel文档。它让我下载文件,但是当我在excel上打开它时,它会显示你在excel上的截图上看到的内容..而不是包含所有信息的表格。 所以它实际上显示了我
形式:
<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>
";
}
答案 0 :(得分:2)
我想我确实修好了:)
在表格代码之后我放了$filename->save('php://output');
似乎我错过了这个,因为它现在确实有效,它现在很不错,但它确实有效。
现在我要调试,谢谢人们:)。