溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php怎么在程序中將網(wǎng)頁生成word文檔并提供下載功能

發(fā)布時(shí)間:2021-09-04 12:54:32 來源:億速云 閱讀:120 作者:chen 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“php怎么在程序中將網(wǎng)頁生成word文檔并提供下載功能”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“php怎么在程序中將網(wǎng)頁生成word文檔并提供下載功能”吧!

在這篇文章中主要解決兩個(gè)問題:

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)樣式不兼容問題

正文:

復(fù)制代碼 代碼如下:


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 >語文</em>學(xué)校 <em >實(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文檔中并提供下載功能。
針對第2個(gè)問題,下載到本地的word文檔打開后顯示默認(rèn)按照web視圖進(jìn)行顯示的問題:如下圖:
按照默認(rèn)web視圖顯示:

 php怎么在程序中將網(wǎng)頁生成word文檔并提供下載功能

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

 php怎么在程序中將網(wǎng)頁生成word文檔并提供下載功能

針對第三個(gè)問題就是有一些樣式不兼容問題,比如頂部的大標(biāo)題下面的相關(guān)屬性的下劃線標(biāo)注顯示:

  我們在html中的樣式中添加了border-bottom: 1px solid #545454;這個(gè)樣式(藍(lán)色代碼部分),即:<em >,但是下劃線還是沒有顯示,因?yàn)樵趙ord中不識(shí)別。如下圖:

 php怎么在程序中將網(wǎng)頁生成word文檔并提供下載功能

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

 php怎么在程序中將網(wǎng)頁生成word文檔并提供下載功能

授之于魚,不如授之于漁,我把我的關(guān)于這個(gè)解決樣式不兼容的解決方法給大家分享一下:

   一:找個(gè)web版在線編輯器,然后在里面隨便輸入幾個(gè)文字,然后添加下劃線標(biāo)示

   二:然后點(diǎn)擊編輯器上面的查看源代碼按鈕,可以看到剛才添加的那個(gè)下劃線標(biāo)示的屬性即為text-decoration: underline;而不是html中的樣式標(biāo)示:border-bottom: 1px solid #545454;

到此,相信大家對“php怎么在程序中將網(wǎng)頁生成word文檔并提供下載功能”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI