首页 > 编程语言 >thinkphp导出word【 直接生成word文件 】

thinkphp导出word【 直接生成word文件 】

时间:2024-03-25 17:15:34浏览次数:33  
标签:word section 导出 phpWord header myOwnStyle thinkphp array

PHPWord中文文档

 

 

使用composer安装PHPword:

composer require phpoffice/phpword

直接生成word文件:

  public function test()
    {
       $phpWord = new \PhpOffice\PhpWord\PhpWord();
        //设置默认样式
        $phpWord->setDefaultFontName('宋体');//字体
        $phpWord->setDefaultFontSize(12);//字号
        //添加页面
        $section = $phpWord->createSection();
        $phpWord->addFontStyle('rStyle', array('bold'=>true,'color'=>'87CEEB','size'=>35));
        $phpWord->addParagraphStyle('pStyle', array('align'=>'center','spacing'=>120));
       
      
        $fontStyle = array('color'=>'000000', 'size'=>15,'align'=>'center');
        $phpWord->addFontStyle('myOwnStyle', $fontStyle);
        $section->addText('名称:11', 'myOwnStyle');
        $section->addTextBreak(1);
        $section->addText('产品:22', '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 = 'text_demo';//文件名称
        $fileName = 'text_demo'.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 = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
        $objWrite->save('php://output');
        exit;
    }

 

标签:word,section,导出,phpWord,header,myOwnStyle,thinkphp,array
From: https://www.cnblogs.com/zhangyouwu/p/18094805

相关文章

  • thinkphp添加request()->only(['user_id'=>0]);
    某些版本的thinkphp没有request()->only(['user_id'=>0]);只需要项目目录下的thinkphp/library/think/Request.php文件;找到only方法,重新改写为即可publicfunctiononly($name,$type='param'){$param=self::$type();if(is_strin......
  • vue中导出excel表格, Workbook 导出的表格的单元格格式设置为文本
    <template><button@click="exportExcel">导出Excel</button></template><script>importXLSXfrom'xlsx';exportdefault{methods:{exportExcel(){//创建Workbook和工作表constworkbook=......
  • 前端导入导出 Excel
    前端导入导出Excel文件通常使用一些现成的库或工具来简化操作。以下是一种常见的实现方法:导出Excel1.使用现成的库可以使用像xlsx或exceljs这样的JavaScript库来生成Excel文件。这些库提供了创建Excel文件所需的各种功能和API。//使用xlsx库示例constXLSX......
  • 为什么 export 导出一个字面量会报错,而使用 export default 就不会报错?
    核心其实总的来说就是export导出的是变量的句柄(或者说符号绑定、近似于C语言里面的指针,C++里面的变量别名),而exportdefault导出的是变量的值。需要注意的是:模块里面的内容只能在模块内部修改,模块外部只能使用。esModule在语法层面做了一层浅层的保护(即将import导入的变量......
  • 53文章解读与程序——配电网重构(IEEE333)附带WORD注释解读___已提供下载资源
    ......
  • C#中DataGrid导出Excel文件
    privatevoidbtnExport_Click(objectsender,RoutedEventArgse){System.Diagnostics.Stopwatchsw=newSystem.Diagnostics.Stopwatch();sw.Start();grid.SelectAllCells();grid.ClipboardCopyMod......
  • 纯前端调用原生Office实现Web在线编辑Word/Excel/PPT,支持私有化部署
    在日常协同办公过程中,一份文件可能需要多次重复修改才能确定,如果你发送给多个人修改后再汇总,这样既效率低又容易出错,这就用到网页版协同办公软件了,不仅方便文件流转还保证不会出错。但是目前一些在线协同Office属于模拟Office,在线模拟OFFICE编辑过的文档,再用本机Office编辑都存在......
  • 换机技巧:IDEA如何导出/导入设置
    背景最近新换了电脑,因为之前是Intel芯片的Mac,这次换了arm架构的M芯片的Mac,旧Mac上的很多软件不兼容,所以就没有选择换机数据迁移,一点一点下载、配置了所有环境。导出IDEA支持设置的导入导出,这就省去了很多繁琐的更改设置步骤。首先打开IDEA,点击File--ManageIDESettings......
  • thinkphp6中jwt的使用
    thinkphp6中jwt的使用安装JWT插件composerrequirefirebase/php-jwt创建User模型phpthinkmake:modelUser创建User控制器phpthinkmake:controllerUser封装创建token函数,要在User模型中创建//加密的秘钥protected$key="test";//过期时间protect......
  • Spring Security 中的 BCryptPasswordEncoder
    一、使用BCryptPasswordEncoder加密的值可以解出来吗SpringSecurity中的BCryptPasswordEncoder是一种单向加密算法,它是为了安全性考虑而设计的,因此无法从加密后的密码值"解密"出原始密码。这是出于安全目的的设计。BCryptPasswordEncoder加密过程是不可逆的,即使......