2012-07-17 103 views
0

有關我們想要實現的更多信息。Joomla文章導出爲ex​​cel

我們有用PHP編寫的報表,它將在屏幕上創建一個表格,然後如果他們選擇Excel單選按鈕並重新運行報表,只需在輸出表格之前輸出下列標題即可將表格輸出到Excel中 header(「Content-Type:application/x-msexcel」); header(「Expires:0」); header(「Cache-Control:must-revalidate,post-check = 0,pre-check = 0」); header(「Content-Disposition:attachment; filename = discussion.xls」);

當我們試圖在Joomla文章中重現相同的報告時,報告工作正常,但是當我們嘗試將報告輸出到Excel時,它確實創建了一個Excel文件,但似乎輸出整個頁面內容而不僅僅是(希望是有道理的)

如果您選擇test1,您可以在http://commculturecommunity.cloudaccess.net處看到鏈接,它將創建Excel輸出,但是當您打開它時,您可以看到測試數據,但也可以看到其餘部分頁面內容。

任何幫助將非常感激。

感謝 理查德

======================================= =========================================

我們創建了一篇文章在Joomla中,並且已經嵌入了這段代碼(使用sourcerer)作爲文章的一部分。

{source} 
<?php 
$filename ="excelreport.xls"; 
$contents ="testdata1 \t testdata2 \t testdata3 \t \n"; 
header('Content-type: application/ms-excel'); 
header('Content-Disposition: attachment; filename='.$filename); 
echo $contents; 
?> 
{/source} 

當我們去到一個Excel文件下載的頁面,但是當我們在Excel中打開它,它包括了整個窗體,而不僅僅是測試數據上面創建。

任何幫助將真正理解

感謝 理查德

+0

發生的事情不太清楚文件......你有一個樣品鏈接嘗試 – GDP 2012-07-17 21:27:28

+0

Excel的格式是二進制的,而不是一種開放的文本格式,所以您不能像創建它那麼簡單;就像VampiRUS所說的,你需要使用一個向後設計格式的庫。或者,您可以輸出一個CSV文件;這是一個易於使用的開放式文本格式,如果您使用php的csv函數,那麼這種格式非常微不足道。 – 2012-07-18 12:28:12

回答

0

您需要使用phpExcel創建的Excel與文章內容

+0

感謝VampiRuS感謝您將我們指向phpExcel,這是一個更好的解決方案,因爲我們現在生成Excel .xls文件,現在將其用於所有導出報告。 – PerryW 2015-10-12 22:29:36