thinkphp整合phpword

穿插一段:PHPExcel  

认识一人问我

phpExcel  执行时出现各种问题    要不就是空的,要不就是浏览器一直刷新,要不就是出现部分数据,有部分数据出不来;

经过排查--发现是数据太多的问题  ------执行2万多条数据时-----出现问题------limit5000就没问题---

后来 增大执行时间解决了 

 

有遇见的可以朝这个思路去解决下。

thinkphp 整合PHPword(PHPword.php和PHPword文件夹放在了PHPword文件夹下;然后把最外边这个PHPword文件放在thinkphp vendor文件夹下 tp3.2)

<?php namespace Home\\Controller; use Think\\Controller; class IndexController extends Controller { public function index(){ // 参数部分 $formNname = '测试form'; // form $toName = '测试to'; // to $tel = '测试电话'; // 电话 $fax = '测试传真号'; // 传真号 $faxes = '测试传真编码'; // 传真编码 $name = '王府井';// 景点名称 $userTime = '游客游玩时间'; // 游客游玩时间 $userName = '游客姓名'; // 游客姓名 $userNum = '测试2'; // 游客数量 $userTel = '游客电话'; // 游客电话 $userContent = '测试预定项目'; // 游客预定项目 $clearing = '测试结算方式'; // 结算方式 $rests = '测试其他'; // 其他 $html = "预订人: 景区确认: "; $txt = '备注:';// 备注 // 引入部分 **vendor("PHPWord");** **require\_cache(VENDOR\_PATH.'PHPWord/PHPWord.php');** **$PHPWord = new \\PHPWord();** $section = $PHPWord->createSection(); $properties = $PHPWord->getProperties(); // 定义样式数组 $styleTable = array('borderSize'=>6, 'borderColor'=>'006699', 'cellMargin'=>80); $styleFirstRow = array('borderBottomSize'=>18, 'borderBottomColor'=>'0000FF', 'bgColor'=>'66BBFF'); // 定义单元格样式数组 $styleCell = array('valign'=>'center'); $styleCellBTLR = array('valign'=>'center', 'textDirection'=>\\PHPWord\_Style\_Cell::TEXT\_DIR\_BTLR); // 定义第一行的字体 $fontStyle = array('bold'=>true, 'size'=>18, 'align'=>'center'); **// 标题内容** **//$PHPWord->addFontStyle('rStyle', array('bold'=>true, 'italic'=>true, 'size'=>80));** **$PHPWord->addParagraphStyle('pStyle', array('align'=>'center', 'spaceAfter'=>100));** **$section->addText($name."景点门票预订传真函", $fontStyle, 'pStyle');** // 添加表格样式 $PHPWord->addTableStyle('myOwnTableStyle', $styleTable, $styleFirstRow, $fontStyle); // 添加表格 $table = $section->addTable('myOwnTableStyle'); $PHPWord->setDefaultFontName('宋体'); // 全局字体 $PHPWord->setDefaultFontSize(14); // 全局字号 // 内容开始 // 第一行 $table->addRow(); $table->addCell(3600)->addText("from:$formNname"); $table->addCell(2800)->addText("电话:$tel"); $table->addCell(2800)->addText("传真:$fax");  // 生成docx文档 $objWriter = **\\PHPWord\_IOFactory::createWriter($PHPWord, 'Word2007');** $objWriter->**save('abc.docx');** } } 中文乱码支持的问题 百度下 基本上就是 把 base.php  section.php table.php 等几个php文件里的utf-8 encode改成  中文编码() 注意如果还没解决,试下把控制器编码改成asni编码试下() 额,其实是帮同学整合的,后来小伙遇到一个奇葩问题,由于编码问题,他的换行有问题; 比如:‘备注:                        (1)这是第一行;                         (2)这是第二行’ 他的内容需要拼接成这样;就需要换行;结果他的换行不识别; 我在这里找到答案; http://www.phpddt.com/php/phpword-cell-newline.html 其实就是‘\\n’的替换; 额。。。如果再有问题  会继续记录
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

thinkphp整合phpword - HelloWorld