thinkphp3.2集成phpword,生成word文档并下载

    因为工作需要,需要将页面内容导出到word并下载。本文介绍在PHP中如何实现生成word文档并下载。

    开发框架:

        thinkphp3.2

    Word插件:

        PHPWord

    一、安装PHPWord

    安装PHPWord,可以通过下面2中方式:

        1. git地址下载:https://github.com/PHPOffice/PHPWord,下载完成后将文件复制到项目目录下

        2. 使用composer安装,在PhpStorm的命令终端Terminal中,输入以下命令安装(安装完成后,在项目根目录下会增加一个vendor目录,里面为下载的PHPWord):

composer require phpoffice/phpword

    二、在项目中引入PHPWord

    2.1 在index.php文件中,加入以下代码,加载PHPWord(phpword在vendor下)

require './vendor/autoload.php';

    2.2 在需要的controller用命名空间的方式引入PHPWord相关类

use PhpOffice\PhpWord\IOFactory; 
use PhpOffice\PhpWord\PhpWord;

    三、使用PHPWord生成word文档并下载:

function createDoc()
{
    $PHPWord = new PhpWord();
    // New portrait section
    $section = $PHPWord->createSection();
    // Add text elements
    $str5 = "        根据《中华人民共和国合同法》及相关法律法规的规定,甲、乙双方在平等、自愿的基础上,就甲方将房屋出租给乙方使用,乙方承租甲方房屋事宜,为明确双方权利义务,经协商一致,订立本合同。";
    $str1 = "甲    方:                                                           乙    方:";
    $str2 = "甲方签字:                                                           乙方签字:";
    $str3 = "盖章:                                                                盖章:";

    $str4 = "签约时间:20        年        月        日                             签约时间:20         年        月        日";
    $title = '房屋租赁合同';
    $section->addText($title, 'rStyle', 'pStyle');
    $section->addTextBreak(2);
    $section->addText($str5, 'cOntent');
    $section->addTextBreak(2);
    $section->addText($str1, 'cOntent');
    $section->addText($str2, 'cOntent');
    $section->addText($str3, 'cOntent');
    $section->addText($str4, 'cOntent');
    $section->addTextBreak(2);
    $section->addTextBreak(2);
    $PHPWord->addFontStyle('cOntent', array('bold' => false, 'size' => 12));
    $PHPWord->addFontStyle('rStyle', array('bold' => true, 'italic' => false, 'size' => 16, 'align' => 'center'));
    $PHPWord->addParagraphStyle('pStyle', array('align' => 'center', 'spaceAfter' => 100));

    $objWriter = IOFactory::createWriter($PHPWord, 'Word2007');
    $tmpfilename = date("YmdHis");
    $path = 'wordfile/' . $tmpfilename . '.doc';
    $objWriter->save($path);

    // 下载
    $file1 = fopen($path, "rb");
    // 输入文件标签
    Header("Content-type: application/octet-stream");
    Header("Accept-Ranges: bytes");
    Header("Accept-Length:" . filesize($path));
    Header("Content-Disposition: attachment;filename=" . $tmpfilename . '.doc');
    ob_clean();     // 重点!!!
    flush();        // 重点!!!!可以清除文件中多余的路径名以及解决乱码的问题:
    //输出文件内容
    //读取文件内容并直接输出到浏览器
    echo fread($file1, filesize($path));
    fclose($file1);

    // 删除临时文件
    unlink($path);

    exit();
}

    以上代码,简单实现生成word文档并下载。在实际使用时,可根据实际情况生成文档内容。

ThinkPHP 3.2集成Nacos的过程如下: 1. 首先,确保已经安装了ThinkPHP 3.2和Nacos。可以通过下载官方网站的压缩包,然后解压缩到你的项目目录下。 2. 在ThinkPHP的项目中创建一个新的配置文件config.php,用来配置Nacos的相关信息。在该配置文件中定义Nacos的服务地址、命名空间、数据ID等信息。 3. 在ThinkPHP的项目中创建一个新的类,用来实现Nacos的集成功能。例如,可以创建一个名为NacosService的类,在该类中可以通过Nacos的API进行注册、发现、配置读写等操作。 4. 在ThinkPHP的应用中,可以通过调用NacosService类中的方法来实现Nacos的集成功能。例如,可以在控制器中调用NacosService类的register方法,将当前应用注册到Nacos中。 5. 通过调用NacosService类的其他方法,可以实现从Nacos中获取配置、更新配置等操作。例如,可以在控制器中调用NacosService类的getConfig方法,从Nacos中获取配置信息。 6. 在ThinkPHP的应用中,可以根据Nacos的配置来实现动态配置的功能。例如,可以在配置文件中定义数据库连接的信息,然后通过NacosService类的getConfig方法来获取最新的配置。 总结起来,集成Nacos的过程主要包括配置Nacos的相关信息、创建Nacos的集成类、调用Nacos的API进行注册、发现、配置读写等操作。通过这些步骤,就可以在ThinkPHP 3.2集成Nacos,并实现动态配置的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值