2013-02-19 2 views
1

я могу вывести PHP таблицу в файле Excel с помощью этого кода:Вывод PDF файл, используя заголовок

<?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, но он может Не открывай.

Неужели невозможно вывести таблицу PHP в файл PDF так же, как в приведенном выше коде? Или я просто делаю что-то неправильно в своем втором коде? Этот способ является самым легким для меня, поэтому я очень хочу знать, невозможно ли это (если это так, то почему?) Или возможно. И, пожалуйста, укажите мне легкую альтернативу для достижения этого, если это невозможно, поскольку я новичок в создании внешних файлов через PHP. Любая помощь будет делать. Благодарю.

+0

Не экспортируйте файл * и * HTML одновременно. –

+0

Что это значит? Пожалуйста, объясни. Благодарю. – xjshiya

ответ

1

Вы не можете просто откликнуться на HTML и надеяться, что он волшебным образом сделает двоичный файл PDF, потому что вы отправили заголовок PDF. Посмотрите библиотеку PHP PDF (http://php.net/manual/en/book.pdf.php) или другую библиотеку на PHP для создания PDF-файлов.

Аналогичным образом, я шокирован тем, что вывод HTML-кода с заголовком Excel создаст полезный файл Excel. Должно быть, благодаря удачной совместимости с Excel это будет работать. Вы должны использовать реальную библиотеку Excel (или создать файл CSV, совместимый с Excel), если вы хотите более эффективно создавать файлы Excel.

+0

Почему тогда это можно сделать в файле excel? Мне очень жаль, но я действительно к этому не знаком. Благодарю. – xjshiya

+0

Просто случается, что excel может смотреть на выход (в основном файл HTML) - и интерпретировать то, что вы пытаетесь сделать. Технически то, что вы сделали, не является действительным документом excel - его достаточно умный, чтобы анализировать эту информацию на основе того, что люди обычно делают с HTML-таблицами. PDF-файлы намного более полно. –

+0

О, я вижу. Таким образом, в принципе, это невозможно сделать так, как я пытаюсь это сделать. Я просто надеюсь, что так или иначе это будет, потому что это самый простой способ для меня. Большое спасибо за информацию, хотя! :) – xjshiya

Смежные вопросы