PHP:引用Phpword导出数据到word文档

下载地址https://www.cnwenhui.cn/html/show-597.html(其中有中文使用手册可以下载看看)

1.首先要下载Phpword类库,放在如下图目录下

2.调用方法

 public function  daochuword()
{
vendor("PHPWord.PHPWord");
// New Word Document
$PHPWord = new \PHPWord();
// New portrait section
$section = $PHPWord->createSection();
$PHPWord->addFontStyle('rStyle', array('bold'=>true,'color'=>'87CEEB','size'=>35));
$PHPWord->addParagraphStyle('pStyle', array('align'=>'center','spacing'=>120));
$xlsModel = M('api_aliucheng');
$Data = $xlsModel->Field('id,u_name,u_addres,u_tel,u_card,u_time,u_imgz,u_imgf,u_class,b_one_beizhu,b_shenhe_p,water_kj,water_wz,water_quyu,water_start_time,water_start_peo,water_start_jingli,water_beizhu,water_xingzhi,watch_num,watch_time,watch_peo,moneyjingli_name,moneyjingli_beizhu,jingli_name')->where(array('jingli_state_san'=>1))->select();
foreach($Data as $key=>$val){
$fontStyle = array('color'=>'000000', 'size'=>15,'align'=>'center');
$PHPWord->addFontStyle('myOwnStyle', $fontStyle);
$section->addText(iconv('utf-8', 'gb2312','用户名字:'.$val['u_name']), 'myOwnStyle');
$section->addTextBreak(1);
$section->addText(iconv('utf-8', 'gb2312','家庭地址:'.$val['u_addres']), 'myOwnStyle');
$section->addTextBreak(1);
$section->addText(iconv('utf-8', 'gb2312','手机号:'.$val['u_tel']), 'myOwnStyle');
$section->addTextBreak(1);
$section->addText(iconv('utf-8', 'gb2312','身份证号:'.$val['u_card']), 'myOwnStyle');
$section->addTextBreak(1);
$section->addText(iconv('utf-8', 'gb2312','申报时间:'.$val['u_time']), 'myOwnStyle');
$section->addTextBreak(1);
$section->addText(iconv('utf-8', 'gb2312','用水性质:'.$val['water_xingzhi']), 'myOwnStyle');
$section->addTextBreak(1);
$section->addText(iconv('utf-8', 'gb2312','安装类别:'.$val['u_class']), 'myOwnStyle');
$section->addTextBreak(1);
$imageStyle = array('width'=>100, 'height'=>80, 'align'=>'center');
$section->addText(iconv('utf-8', 'gb2312','身份证正面:'), 'myOwnStyle');
$section->addMemoryImage('<img src="http://localhost:8087/waters/Public/uploads/anzhuang//20180518054237.jpg">',$imageStyle);
// $section->addMemoryImage($img,$imageStyle);
$section->addTextBreak(1);
$section->addPageBreak();//分页
}
$xlsTitle = iconv('utf-8', 'gb2312');//文件名称
$fileName = $_SESSION['account'].date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定
header('pragma:public');
header('Content-type:application/vnd.ms-word;charset=utf-8;name="'.$xlsTitle.'.doc"');
header("Content-Disposition:attachment;filename=$fileName.doc");//attachment新窗口打印inline本窗口打印
header( 'Content-Type: image/jpeg');
ob_clean();//关键
flush();//关键
$objWrite = \PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
$objWrite->save('php://output');
exit;
}

3.导出结果

4.可以发现图片并没有被导出来,是因为word只认电脑路径比如:C:\Users\wrl\Pictures\Saved Pictures,所以导出的时候要注意

猜你喜欢

转载自www.cnblogs.com/wrld/p/9073378.html
今日推荐