您的位置:首页 > 编程语言 > PHP开发

【原】php生成2003 word文档并以页面视图打开

2011-09-28 20:28 816 查看
 
好吧,开始看了一堆说是要com的,要lib的,其实通通不用了。简单到爆啊

直接输出就ok了。那堆header是为了更好的下载。head中的 Microsoft Word 11代表让程序以word2003模式打开。便于调试。一小句 xml 是以页面视图打开的关键。如果您执意要用wps或者永中什么的非主流打开。。好吧你赢了。

另外,文章风格内容样式你完全可以按照html来写。要相信微软是无比贴心的。连style用法都是一样的。  

以下是生成并自动输出word文档的相对精简代码。当然如果您想先在服务器目录上获得写权限生成一个word读取之后再输出,并且以乱码名字保存给用户,还用难看的web视图打开,你又赢了

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

<?php
header( "Pragma: public" );
header( "Expires: 0" ); // set expiration time
header( "Cache-Component: must-revalidate, post-check=0, pre-check=0" );
header( "Content-type:application/msword");
//header( "Content-Length: " . filesize( $this->filename ) );
if(strpos(
{1}


SERVER['HTTP_USER_AGENT'],"MSIE"))header( 'Content-Disposition: attachment; filename="'.urlencode("php生成word文档.doc").'"' );//如果是ie存为的名字要urlencodeelse header( 'Content-Disposition: attachment; filename="'.'php生成word文档.doc'.'"' );//存为的名字header( 'Content-Transfer-Encoding:
binary' );$out_put=<<<o<html xmlns:v="urn:schemas-microsoft-com:vml"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"><meta name=ProgId content=Word.Document><meta name=Generator content="Microsoft Word 11"><meta name=Originator content="Microsoft Word 11"><xml><w:WordDocument><w:View>Print</w:View></xml></head><body>{replacement}这里是你要呈现的内容</body></html>o;echo
$out_put;?>


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

replace吧。少年!

其实输出pdf是最好的选择。因为php一般用在linux下,而word文档在不同版本的程序里呈现不一样。更别说linux下。不过单位某些人员根本不知道pdf是神马

,更不用提编辑,所以word这种东西还是有“通用性”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息