[英]Exporting html table to downloadable excel with PHP issues
所以,我在将表导出到 excel 时遇到了一些问题。
它已生成,但仅出现第一组标题。
我有一张这样的桌子:
<table>
<thead>
<tr>
<th colspan="5">Incoming</th>
</tr>
<tr>
<th>From</th>
<th>To</th>
<th>Date</th>
<th>Duration</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">942367233</td>
<td style="text-align: center;">-</td>
<td style="text-align: center;">15-06-2011 08:24</td>
<td style="text-align: center;">00:00</td>
<td style="text-align: center;">Abandoned</td>
</tr>
<tr>
<td style="text-align: center;">935761500</td>
<td style="text-align: center;">1956</td>
<td style="text-align: center;">15-06-2011 09:20</td>
<td style="text-align: center;">00:00</td>
<td style="text-align: center;">Answered</td>
</tr>
<tr>
<td style="text-align: center;">942367233</td>
<td style="text-align: center;">1957</td>
<td style="text-align: center;">15-06-2011 09:21</td>
<td style="text-align: center;">02:16</td>
<td style="text-align: center;">Answered</td>
</tr>
</tbody>
</table>
桌子正上方的表格
<form action="toexcel.php" method="post" target="_blank"
onsubmit=\'$("#datatodisplay").val($("#data").html())\'>
<input type="image" src="/images/icons/Floppy-48x48.png" width="12" height="12">
<input type="hidden" id="datatodisplay" name="datatodisplay" />
</form>
然后,在 PHP 它应该生成 excel:
header("Content-type: application/vnd.ms-excel; name='excel'");
header("Content-Disposition: filename=ficheroExcel.xls");
header("Pragma: no-cache");
header("Expires: 0");
echo $_POST['datatodisplay'];
但只显示第一组标题。 我试图删除标题,但它也不起作用。
怎么了?
您的 HTML 是错误的。 HTML DTD 声明一个表可能只包含一个 thead 和一个 tfoot,但有多个 tbody 标签:
<!ELEMENT table
(caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
这是您的主要问题; HTML 无效。
除此之外:
尽管聊天,我还是能够解决这个问题。 似乎 javascript 中的转义字符没有转义,所以我必须添加以下内容,以解决问题:
echo str_replace('\"','"', $_POST['datatodisplay']);;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.