php在程序中將網(wǎng)頁(yè)生成word文檔并提供下載的代碼
1:在php中如何把html中的內(nèi)容生成到word文檔中
2:php把html中的內(nèi)容生成到word文檔中時(shí),不居中顯示問(wèn)題,即會(huì)默認(rèn)按照web視圖進(jìn)行顯示。
3:php把html中的內(nèi)容生成到word文檔中時(shí),相關(guān)樣式不兼容問(wèn)題
正文:
echo '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<xml><w:WordDocument><w:View>Print</w:View></xml>
<script src="includes/js/ztree/js/jquery-1.4.4.min.js" type="text/javascript"></script>
</head>';
echo '<body><table class="table_dayin">
<caption class="table_caption">';
echo "數(shù)字化教學(xué)系統(tǒng)電子備課稿<br>
<span>學(xué)科 <em style="border-bottom: 1px solid #545454;">語(yǔ)文</em>學(xué)校 <em style="border-bottom: 1px solid #545454;">實(shí)驗(yàn)中學(xué)</em></span>
</caption>";
echo '</table></body></html>';
ob_start(); //打開(kāi)緩沖區(qū)
header("Cache-Control: public");
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
if (strpos($_SERVER["HTTP_USER_AGENT"],'MSIE')) {
header('Content-Disposition: attachment; filename=test.doc');
}else if (strpos($_SERVER["HTTP_USER_AGENT"],'Firefox')) {
Header('Content-Disposition: attachment; filename=test.doc');
} else {
header('Content-Disposition: attachment; filename=test.doc');
}
header("Pragma:no-cache");
header("Expires:0");
ob_end_flush();//輸出全部?jī)?nèi)容到瀏覽器
注:以上代碼部分提供了在php程序文件中生成內(nèi)容到word文檔中并提供下載功能。
針對(duì)第2個(gè)問(wèn)題,下載到本地的word文檔打開(kāi)后顯示默認(rèn)按照web視圖進(jìn)行顯示的問(wèn)題:如下圖:
按照默認(rèn)web視圖顯示:
如果按照正常的頁(yè)面視圖進(jìn)行顯示的話(huà),需要在頭部添加一行xml標(biāo)示進(jìn)行設(shè)置(藍(lán)色代碼部分):<xml><w:WordDocument><w:View>Print</w:View></xml>,添加后下載到本地的word文檔打開(kāi)后顯示如下圖:
針對(duì)第三個(gè)問(wèn)題就是有一些樣式不兼容問(wèn)題,比如頂部的大標(biāo)題下面的相關(guān)屬性的下劃線(xiàn)標(biāo)注顯示:
我們?cè)趆tml中的樣式中添加了border-bottom: 1px solid #545454;這個(gè)樣式(藍(lán)色代碼部分),即:<em style="border-bottom: 1px solid #545454;">,但是下劃線(xiàn)還是沒(méi)有顯示,因?yàn)樵趙ord中不識(shí)別。如下圖:
解決方法就是按照word識(shí)別的下標(biāo)樣式進(jìn)行更改,即:<em style="text-decoration: underline;">,更改為這個(gè)樣式后,即在下載到本地的word文檔打開(kāi)后就有下劃線(xiàn)標(biāo)示顯示了。
授之于魚(yú),不如授之于漁,我把我的關(guān)于這個(gè)解決樣式不兼容的解決方法給大家分享一下:
一:找個(gè)web版在線(xiàn)編輯器,然后在里面隨便輸入幾個(gè)文字,然后添加下劃線(xiàn)標(biāo)示
二:然后點(diǎn)擊編輯器上面的查看源代碼按鈕,可以看到剛才添加的那個(gè)下劃線(xiàn)標(biāo)示的屬性即為text-decoration: underline;而不是html中的樣式標(biāo)示:border-bottom: 1px solid #545454;
好了,針對(duì)以上相關(guān)問(wèn)題就到這里,如有問(wèn)題請(qǐng)大家提出來(lái),我們共同討論解決哈。
- phpword插件導(dǎo)出word文件時(shí)中文亂碼問(wèn)題處理方案
- PHP生成word文檔的三種實(shí)現(xiàn)方式
- 在Windows系統(tǒng)下使用PHP生成Word文檔的教程
- 在PHP中讀取和寫(xiě)入WORD文檔的代碼
- 使用PHP導(dǎo)出Word文檔的原理和實(shí)例
- PHP中將網(wǎng)頁(yè)導(dǎo)出為Word文檔的代碼
- php導(dǎo)出word文檔與excel電子表格的簡(jiǎn)單示例代碼
- PHP讀取word文檔的方法分析【基于COM組件】
- php通過(guò)baihui網(wǎng)API實(shí)現(xiàn)讀取word文檔并展示
- PHP創(chuàng)建word文檔的方法(平臺(tái)無(wú)關(guān))
- 使用PHPWord生成word文檔的方法詳解
相關(guān)文章
解決laravel5.4下的group by報(bào)錯(cuò)的問(wèn)題
今天小編就為大家分享一篇解決laravel5.4下的group by報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10制作安全性高的PHP網(wǎng)站的幾個(gè)實(shí)用要點(diǎn)
這篇文章主要介紹了制作安全性高的PHP網(wǎng)站的幾個(gè)實(shí)用要點(diǎn),需要的朋友可以參考下2014-12-12tp5.1框架數(shù)據(jù)庫(kù)子查詢(xún)操作實(shí)例分析
這篇文章主要介紹了tp5.1框架數(shù)據(jù)庫(kù)子查詢(xún)操作,結(jié)合實(shí)例形式分析了tp5.1框架數(shù)據(jù)庫(kù)子查詢(xún)相關(guān)原理、操作實(shí)現(xiàn)方法與注意事項(xiàng),需要的朋友可以參考下2020-05-05適用于抽獎(jiǎng)程序、隨機(jī)廣告的PHP概率算法實(shí)例
做網(wǎng)站類(lèi)的有時(shí)會(huì)弄個(gè)活動(dòng)什么的,來(lái)讓用戶(hù)參加,既吸引用戶(hù)注冊(cè),又提高網(wǎng)站的用戶(hù)活躍度。同時(shí)參加的用戶(hù)會(huì)獲得一定的獎(jiǎng)品,有100%中獎(jiǎng)的,也有按一定概率中獎(jiǎng)的,大的比如中個(gè)ipad、iphone5,小的中個(gè)Q幣什么的2014-04-04PHP yii實(shí)現(xiàn)model添加默認(rèn)值的方法(兩種方法)
這篇文章主要介紹了PHP yii實(shí)現(xiàn)model添加默認(rèn)值的方法的相關(guān)資料,這里有兩種方法,和具體實(shí)現(xiàn)方法,需要的朋友可以參考下2016-11-11php實(shí)現(xiàn)支付寶當(dāng)面付(掃碼支付)功能
這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)支付寶當(dāng)面付,掃碼支付功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05thinkphp框架page類(lèi)與bootstrap分頁(yè)(美化)
這篇文章主要介紹了thinkphp框架page類(lèi)與bootstrap分頁(yè)(美化) ,需要的朋友可以參考下2017-06-06