php生成 word,用PHP生成word文件

不用说,这个功能很常见,也很实用,一个web平台做的好的话,可以为使用者省去不少事情,比如说根据用户填写的数据自动生成word文档。

这两天有人需要,我也就闲着做了个简单的demo,代码也是从网上搜罗了些,网上的文章大多比较乱,就在这里稍微记录一下。

1、纯php生成,用到了ob_start()和ob_get_contents(),用法是ob_start()生成后,在header之后的echo语句会存储在缓冲区,ob_get_contents()用来获取缓冲区的数据。<?php

class word

{

function start()

{

ob_start();

print'

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 "";

$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");<?php

header("Content-type: text/html; charset=utf8"); //页面编码

header("Content-Type:application/msword");   //表示这个页面将要导出为word

header("Content-Disposition:attachment;filename=".mb_convert_encoding("UUUU","gbk","utf8").".doc");   //该页面导出为word的文档名

header("Pragma:no-cache");

header("Expires:0");

?>

客户名称电话号码客户地址添加日期客户备注备注

/*you can use php+SQL to fetch data.*/

?>

HHHH<?php  /*echo data*/?>IIIIII<?php  /*echo data*/?>UUUU<?php  /*echo data*/?>PPPPP<?php  /*echo data*/?> 

/*using in while*/

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值