php在程序中將網(wǎng)頁生成word文檔并提供下載的代碼
1:在php中如何把html中的內(nèi)容生成到word文檔中
2:php把html中的內(nèi)容生成到word文檔中時(shí),不居中顯示問題,即會(huì)默認(rèn)按照web視圖進(jìn)行顯示。
3:php把html中的內(nèi)容生成到word文檔中時(shí),相關(guā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;">語文</em>學(xué)校 <em style="border-bottom: 1px solid #545454;">實(shí)驗(yàn)中學(xué)</em></span>
</caption>";
echo '</table></body></html>';
ob_start(); //打開緩沖區(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();//輸出全部內(nèi)容到瀏覽器
注:以上代碼部分提供了在php程序文件中生成內(nèi)容到word文檔中并提供下載功能。
針對(duì)第2個(gè)問題,下載到本地的word文檔打開后顯示默認(rèn)按照web視圖進(jìn)行顯示的問題:如下圖:
按照默認(rèn)web視圖顯示:

如果按照正常的頁面視圖進(jìn)行顯示的話,需要在頭部添加一行xml標(biāo)示進(jìn)行設(shè)置(藍(lán)色代碼部分):<xml><w:WordDocument><w:View>Print</w:View></xml>,添加后下載到本地的word文檔打開后顯示如下圖:

針對(duì)第三個(gè)問題就是有一些樣式不兼容問題,比如頂部的大標(biāo)題下面的相關(guān)屬性的下劃線標(biāo)注顯示:
我們?cè)趆tml中的樣式中添加了border-bottom: 1px solid #545454;這個(gè)樣式(藍(lán)色代碼部分),即:<em style="border-bottom: 1px solid #545454;">,但是下劃線還是沒有顯示,因?yàn)樵趙ord中不識(shí)別。如下圖:

解決方法就是按照word識(shí)別的下標(biāo)樣式進(jìn)行更改,即:<em style="text-decoration: underline;">,更改為這個(gè)樣式后,即在下載到本地的word文檔打開后就有下劃線標(biāo)示顯示了。

授之于魚,不如授之于漁,我把我的關(guān)于這個(gè)解決樣式不兼容的解決方法給大家分享一下:
一:找個(gè)web版在線編輯器,然后在里面隨便輸入幾個(gè)文字,然后添加下劃線標(biāo)示
二:然后點(diǎn)擊編輯器上面的查看源代碼按鈕,可以看到剛才添加的那個(gè)下劃線標(biāo)示的屬性即為text-decoration: underline;而不是html中的樣式標(biāo)示:border-bottom: 1px solid #545454;
好了,針對(duì)以上相關(guān)問題就到這里,如有問題請(qǐng)大家提出來,我們共同討論解決哈。
- phpword插件導(dǎo)出word文件時(shí)中文亂碼問題處理方案
- PHP生成word文檔的三種實(shí)現(xiàn)方式
- 在Windows系統(tǒng)下使用PHP生成Word文檔的教程
- 在PHP中讀取和寫入WORD文檔的代碼
- 使用PHP導(dǎo)出Word文檔的原理和實(shí)例
- PHP中將網(wǎng)頁導(dǎo)出為Word文檔的代碼
- php導(dǎo)出word文檔與excel電子表格的簡單示例代碼
- PHP讀取word文檔的方法分析【基于COM組件】
- php通過baihui網(wǎng)API實(shí)現(xiàn)讀取word文檔并展示
- PHP創(chuàng)建word文檔的方法(平臺(tái)無關(guān))
- 使用PHPWord生成word文檔的方法詳解
相關(guān)文章
PHP+Ajax異步帶進(jìn)度條上傳文件實(shí)例
這篇文章主要介紹了PHP+Ajax異步帶進(jìn)度條上傳文件實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下。2016-11-11
Laravel實(shí)現(xiàn)搜索的時(shí)候分頁并攜帶參數(shù)
今天小編就為大家分享一篇Laravel實(shí)現(xiàn)搜索的時(shí)候分頁并攜帶參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10
PHP簡單實(shí)現(xiàn)單點(diǎn)登錄功能示例
這篇文章主要介紹了PHP簡單實(shí)現(xiàn)單點(diǎn)登錄功能,結(jié)合實(shí)例形式分析了php基于session控制實(shí)現(xiàn)單點(diǎn)登錄的相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
Linux下從零開始安裝配置Nginx服務(wù)器+PHP開發(fā)環(huán)境
這篇文章主要介紹了Linux下從零開始安裝配置Nginx服務(wù)器+PHP開發(fā)環(huán)境的教程,文中采用的是最主流的FastCGI連接方法,需要的朋友可以參考下2015-12-12
詳解PHP如何更好的利用PHPstorm的自動(dòng)提示
本篇文章主要介紹了詳解PHP如何更好的利用PHPstorm的自動(dòng)提示,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08
使用php的HTTP請(qǐng)求的庫Requests實(shí)現(xiàn)美女圖片墻
這篇文章主要介紹了使用php的HTTP請(qǐng)求的庫Requests實(shí)現(xiàn)美女圖片墻的方法,十分簡單實(shí)用,需要的朋友可以參考下2015-02-02

