我可以使用以下代码在excel文件中输出PHP表:
<?php
require("aacfs.php");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=Cancelled Flight Summary_sortbydate.xls");
header("Pragma: no-cache");
header("Expires: 0");
echo "<center>Ayala Aviation Corporation</center>";
echo "<center><b>Cancelled Flight Summary</b></center>";
echo "<center>For the period ________</center></br></br>";
$result=mysql_query("select * from reservation where status='Cancelled' order by bdate");
echo "<center></br></br><table border=1 class='imagetable'><tr>
<th>Flight Date</th>
<th>Client</th>
<th>Group Code</th>
<th>Itinerary</th>
<th>ETD</th>
<th>Aircraft</th>
<th>ETA</th>
<th>Reservation No.</th>
<th>Last Status</th>
<th>Remarks</th>
<th>Reserved By</th>
</tr>";
if(mysql_num_rows($result)>0)
{
while($row=mysql_fetch_array($result))
{
$rvno=$row['reservno'];
$yr=(string) date("Y");
$rn=$yr."-".$rvno;
echo"<tr><td>".$row['fdate']."</td><td>".$row['cliename']."</td><td>".$row['grpcode']."</td><td>".$row['itinerary']."</td><td>".$row['etd']."</td><td>".$row['acode']."</td><td>".$row['eta']."</td><td>".$rn."</td><td>".$row['lstatus']."</td><td>".$row['remarks']."</td><td>".$row['adminid']."</td></tr>";
}
}
else
{ ?>
<tr><td colspan="11" style="text-align:center; color:#FF0000; font-size:16px;">*No Data Available!*</td></tr>
<?php
}
?><?php
?>
我试过了,
<?php
require("aacfs.php");
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=Cancelled Flight Summary_sortbydate.pdf");
header("Pragma: no-cache");
header("Expires: 0");
echo "<center>Ayala Aviation Corporation</center>";
echo "<center><b>Cancelled Flight Summary</b></center>";
echo "<center>For the period ________</center></br></br>";
$result=mysql_query("select * from reservation where status='Cancelled' order by bdate");
echo "<center></br></br><table border=1 class='imagetable'><tr>
<th>Flight Date</th>
<th>Client</th>
<th>Group Code</th>
<th>Itinerary</th>
<th>ETD</th>
<th>Aircraft</th>
<th>ETA</th>
<th>Reservation No.</th>
<th>Last Status</th>
<th>Remarks</th>
<th>Reserved By</th>
</tr>";
if(mysql_num_rows($result)>0)
{
while($row=mysql_fetch_array($result))
{
$rvno=$row['reservno'];
$yr=(string) date("Y");
$rn=$yr."-".$rvno;
echo"<tr><td>".$row['fdate']."</td><td>".$row['cliename']."</td><td>".$row['grpcode']."</td><td>".$row['itinerary']."</td><td>".$row['etd']."</td><td>".$row['acode']."</td><td>".$row['eta']."</td><td>".$rn."</td><td>".$row['lstatus']."</td><td>".$row['remarks']."</td><td>".$row['adminid']."</td></tr>";
}
}
else
{ ?>
<tr><td colspan="11" style="text-align:center; color:#FF0000; font-size:16px;">*No Data Available!*</td></tr>
<?php
}
?><?php
?>
下载PDF文件但无法打开。
是否真的不可能像在上面的代码中一样输出PDF文件中的PHP表格?或者我在第二段代码上做错了什么?这种方式对我来说最简单,所以我很想知道这是不可能的(如果是,那么为什么?)或者可能。请指出一个简单的替代方法,以便在不可能的情况下实现这一点,因为我是通过PHP生成外部文件的新手。任何帮助都可以。感谢。
答案 0 :(得分:1)
你不能只是回应HTML并希望它会神奇地制作PDF二进制文件,因为你发送了一个PDF标题。查看PHP PDF库(http://php.net/manual/en/book.pdf.php)或其他基于PHP的库来创建PDF。
同样,我感到震惊的是,使用Excel标题输出HTML将创建一个可用的Excel文件。它必须通过与Excel的幸运兼容性来实现。如果要以更可靠的方式创建Excel文件,则应使用真实的Excel库(或创建与Excel兼容的CSV文件)。