zoukankan      html  css  js  c++  java
  • php 导出word

    通过phpword类来实现此功能,首先确定word模板(docx格式的),我们首先要替换的是姓名,电话。现在把这两个值用变量代替,模板里面的变量样式为 ${name} ,如下:

    前提确定好了,下面开始干活

    1、通过compaser安装phpword包:

    composer require phpoffice/phpword

    2、我把模板文件放在项目public下面,调用类库然后引入文件

            include_once "../vendor/autoload.php";
            $tmp = new \PhpOffice\PhpWord\TemplateProcessor('../public/模板.docx');//打开模板
            $tmp->setValue('name','李四');//替换变量name
            $tmp->setValue('phone','18888888889');//替换变量phone
    
            //循环放入
        $rows=count($res);//总行数  $res为查询出来的二维数组
        $tmp->cloneRow('date_time',$rows);//复制行
        for($i=0;$i<$rows;$i++){
            $tmp->setValue("date_time#".($i+1),$res[$i]['date_time']);//替换变量  date_time字段名称
        }    
         $file_name = "测试".date('Y-m-d').".docx"; //生成测试带时间的文件名称
         $tmp->saveAs($file_name);//另存为到pubilc下面
            //Cache::set('file_name',$file_name);//我放在缓存里 方便下一个方法获取
    

      

    3、因为我的需求是每次后需要下载文件并删除,所以我又写了一个方法来实现文件下载和删除

            //$file_name = Cache::get('file_name');
            //Cache::set('file_name','');
            unlink("../public/".$file_name);
            return $file_name;     

    以上就是我所用到的方法,哪位大神如果有什么好的建议或方法 ,可以评论!

    本文来自博客园,作者:小ྀ青ྀ年້,转载请注明原文链接:https://www.cnblogs.com/dalaowang/p/15656467.html

  • 相关阅读:
    hdu 2485 Destroying the bus stations 迭代加深搜索
    hdu 2487 Ugly Windows 模拟
    hdu 2492 Ping pong 线段树
    hdu 1059 Dividing 多重背包
    hdu 3315 My Brute 费用流,费用最小且代价最小
    第四天 下载网络图片显示
    第三天 单元测试和数据库操作
    第二天 布局文件
    第一天 安卓简介
    Android 获取存储空间
  • 原文地址:https://www.cnblogs.com/dalaowang/p/15656467.html
Copyright © 2011-2022 走看看