用PHP生成word文件
生活随笔
收集整理的這篇文章主要介紹了
用PHP生成word文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
不用說,這個功能很常見,也很實用,一個web平臺做的好的話,可以為使用者省去不少事情,比如說根據用戶填寫的數據自動生成word文檔。
這兩天有人需要,我也就閑著做了個簡單的demo,代碼也是從網上搜羅了些,網上的文章大多比較亂,就在這里稍微記錄一下。
1、純php生成,用到了ob_start()和ob_get_contents(),用法是ob_start()生成后,在header之后的echo語句會存儲在緩沖區,ob_get_contents()用來獲取緩沖區的數據。
<?phpclass word{function start(){ob_start();print'<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">';}function save($path){/*This echo will output to word.*/echo "something";/**/print "</html>";$data = ob_get_contents();ob_end_clean();$this->wirtefile ($path,$data);}function wirtefile ($fn,$data){$fp=fopen($fn,"wb");fwrite($fp,$data);fclose($fp);}}$word=new word;$word->start();echo $cout;$wordname="word/客戶.doc";$word->save($wordname); ?>2、將HTML網頁自動保存到word,主要是一句header("Content-Type:application/msword");
<?phpheader("Content-type: text/html; charset=utf8"); //頁面編碼header("Content-Type:application/msword"); //表示這個頁面將要導出為wordheader("Content-Disposition:p_w_upload;filename=".mb_convert_encoding("UUUU","gbk","utf8").".doc"); //該頁面導出為word的文檔名header("Pragma:no-cache");header("Expires:0"); ?> <html> <meta http-equiv=Content-Type content="text/html; charset=utf8"> <style media="print" type="text/css"> <!-- body { margin-left: 0cm; margin-top: 0cm; margin-right: 0cm; margin-bottom: 0cm; } --> </style> <body> <table width="100%" style='border-collapse:collapse;'> <tr><td width='24%' bgcolor='#CCCCCC' style='border:1px solid #000000;font-size:12px;'>客戶名稱</td><td width='13%' bgcolor='#CCCCCC' style='border:1px solid #000000;font-size:12px;'>電話號碼</td><td width='32%' bgcolor="#CCCCCC" style='border:1px solid #000000;font-size:12px;'>客戶地址</td><td width='11%' bgcolor="#CCCCCC" style='border:1px solid #000000;font-size:12px;'>添加日期</td><td width='20%' bgcolor="#CCCCCC" style='border:1px solid #000000;font-size:12px;'>客戶備注備注</td> </tr> <?php/*you can use php+SQL to fetch data.*/ ?> <tr><td style='border:1px solid #000000;font-size:12px;'>HHHH<?php /*echo data*/?></td><td style='border:1px solid #000000;font-size:12px;'>IIIIII<?php /*echo data*/?></td><td style='border:1px solid #000000;font-size:12px;'>UUUU<?php /*echo data*/?></td><td style='border:1px solid #000000;font-size:12px;'>PPPPP<?php /*echo data*/?></td><td style='border:1px solid #000000;font-size:12px;'> </td></tr> <?php/*using in while*/ ?> </table> </body> </html>轉載于:https://blog.51cto.com/xuxueliang/1367855
總結
以上是生活随笔為你收集整理的用PHP生成word文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows server 2008R
- 下一篇: homebrew install php