laravel 5.5 导出word 文档

1. 在laravel 项目根目录地下 执行命令 composer require phpoffice/phpword

安装phpword

2.2 在控制器中引入 

use PhpOffice\PhpWord\PhpWord;

3. 

            $phpword = new PHPWord();               //实例化phpword类
			$fontStyle2 = array('align'=>'center');  //整体样式
			$section = $phpword->addSection();      //整体页面
			$phpword->addTitleStyle(1, ['bold' => true, 'color' => '000', 'size' => 17, 'name' => '宋体'],$fontStyle2);    //设置title样式
			$section->addTitle("中共西安市委组织“12380”网上举报信息登记表");  //添加标题
			$num = date('Ymd',$data->add_time);
			if(mb_strlen($data -> id) == 1){
				$a = $num .'00'.$data -> id;
			}else{
				$a = $num .'0'.$data -> id;
			}
			$time = date('Y-m-d',$data->add_time);
			$section->addText("编号:$a                     
			                                    举报日期:$time");  //添加文本

			$styleTable = [
				             'borderColor' => '006699',
              'borderSize' => 6,
              'cellMargin' => 50,
          ]; //设置表格样式
			$cellRowSpan = array('vMerge' => 'restart', 'valign' => 'center'); // 设置可跨行,且文字在居中
			$cellRowContinue = array('vMerge' => 'continue'); //使行连接,且无边框线
			$cellColSpan = array('gridSpan' => 3, 'valign' => 'center'); //设置跨列
			$cellColSpans = array('gridSpan' => 4, 'valign' => 'center'); //设置跨列
			$cellHCentered = array('align' => 'center'); //居中
			$cellVCentered = array('valign' => 'center'); //居中

			$styleFoun = array('name' => '宋体','size'=> 13);
			$styleFouns = array('name' => '黑体','size'=> 13);

			$phpword->addTableStyle('myTable', $styleTable);
			$table = $section->addTable('myTable');

			//第一行
			$table->addRow(500);  //添加一行
			$table->addCell(5000, $cellRowSpan)->addText('举报人',
				$styleFoun, $cellHCentered); //设置该列可以跨行,且样式居中
			$table->addCell(5000,$cellVCentered)->addText("姓名",$styleFoun,$cellHCentered);
			$uname = $data -> uname;
			$table->addCell(5000,$cellVCentered)->addText("$uname",$styleFouns,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText('性别',$styleFoun,$cellHCentered);
			if($data -> usex == 1){
				$usex = '男';
			}else if($data -> usex == 2){
				$usex = '女';
			}else{
				$usex = '';
			}
			$table->addCell(5000,$cellVCentered)->addText("$usex",$styleFouns,$cellHCentered);

			//第二行
			$table->addRow(500);
			$table->addCell(null, $cellRowContinue);
			$uunit = $data -> uunit;
			$table->addCell(5000,$cellVCentered)->addText("单位",$styleFoun,$cellHCentered);
			$table->addCell(5000,$cellColSpan)->addText("$uunit",$styleFouns,$cellHCentered);
			//第三行
			$table->addRow(500);
			$table->addCell(null, $cellRowContinue);
			$ujob =$data -> ujob;
			$table->addCell(5000,$cellVCentered)->addText("职务",$styleFoun,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText($ujob,$styleFouns,$cellHCentered);
			$ucardno =$data -> ucardno;
			$table->addCell(5000,$cellVCentered)->addText('身份证号',$styleFoun,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText($ucardno,$styleFouns,$cellHCentered);

			//第四行
			$table->addRow(500);
			$table->addCell(null, $cellRowContinue);
			$uaddress = $data -> uaddress;
			$table->addCell(5000,$cellVCentered)->addText("地址",$styleFoun,$cellHCentered);
			$table->addCell(5000,$cellColSpan)->addText($uaddress,$styleFouns,$cellHCentered);

			//第五行
			$table->addRow(500);
			$table->addCell(null, $cellRowContinue);
			$upostalcode = $data -> upostalcode;
			$pcd = $data -> pcd;
			$table->addCell(5000,$cellVCentered)->addText("邮政编码",$styleFoun,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText($upostalcode,$styleFouns,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText('所在区域',$styleFoun,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText($pcd,$styleFouns,$cellHCentered);
			$table->addRow(500);
			$table->addCell(null, $cellRowContinue);
			$utelno = $data -> utelno;
			$uemail = $data -> uemail;
			$table->addCell(5000,$cellVCentered)->addText("联系电话",$styleFoun,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText($utelno,$styleFouns,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText('电子邮件',$styleFoun,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText($uemail,$styleFouns,$cellHCentered);

			$table->addRow(500);
			$table->addCell(null, $cellRowContinue);
			$uphoneno = $data -> uphoneno;
			$table->addCell(5000,$cellVCentered)->addText("手机号",$styleFoun,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText($uphoneno,$styleFouns,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText('',$styleFoun,$cellHCentered);
			$table->addCell(5000,$cellVCentered)->addText('',$styleFouns,$cellHCentered);
				$table->addRow(500);
				$dname = $data -> dname;
				$dlevel = $data -> dlevel;
				$table->addCell(5000,$cellVCentered) -> addText('被举报对象',$styleFoun,$cellHCentered);
				$table->addCell(5000,$cellVCentered)->addText("单位名称",$styleFoun,$cellHCentered);
				$table->addCell(5000,$cellVCentered)->addText($dname,$styleFouns,$cellHCentered);
				$table->addCell(5000,$cellVCentered)->addText('级别',$styleFoun,$cellHCentered);
				$table->addCell(5000,$cellVCentered)->addText($dlevel,$styleFouns,$cellHCentered);

				$table->addRow(1500);
				$dproblem = $data -> dproblem;
				$table->addCell(5000,$cellVCentered) -> addText('主要问题',$styleFoun,$cellHCentered);
				$table->addCell(5000,$cellColSpans)->addText($dproblem,$styleFouns,$cellHCentered);

				$table->addRow(700);
				$table->addCell(5000,$cellVCentered) -> addText('拟办意见',$styleFoun,$cellHCentered);
				$table->addCell(5000,$cellColSpans)->addText("",$styleFouns,$cellHCentered);

				$table->addRow(700);
				$table->addCell(5000,$cellVCentered) -> addText('领导部批示',$styleFoun,$cellHCentered);
				$table->addCell(5000,$cellColSpans)->addText("",$styleFouns,$cellHCentered);

				$table->addRow(700);
				$reply = $data -> reply;
				$table->addCell(5000,$cellVCentered) -> addText('反馈内容',$styleFoun,$cellHCentered);
				$table->addCell(5000,$cellColSpans)->addText($reply,$styleFouns,$cellHCentered);
			
			$section -> addText('注:登记表内各项信息均为举报人提供,未经核实;请注意保护举报人');

			// 保存文件
			$writer = \PhpOffice\PhpWord\IOFactory::createWriter($phpword, 'Word2007');
			$writer->save('举报.docx');
			$files = base_path().'/public/举报.docx';
			$name = basename($files);
			return response()->download($files, $name,$headers = ['Content-Type'=>'application/zip;charset=utf-8']);

 

4. 效果图

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值