PhpOffice相关注意点,下载图片,导出导入等功能

发布时间:2026/10/20 1:10:37

PhpOffice相关注意点,下载图片,导出导入等功能 一、导出表格注意点1.数字导出变成科学公式 参数两边加上 ”\t“$worksheet-setCellValue(C.$hang,\t.$v[title].\t);2.内外边框线 表格格式$styleOneArray[alignment[horizontal\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,// 水平居中vertical\PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER//垂直居中],font[boldtrue],// 字体加粗];$worksheet-getStyle(A1.:D.$hang)-applyFromArray($styleOneArray);$worksheet-getStyle(A1.:D.$hang)-applyFromArray($styleTwoArray);3.自动换行$excel-getActiveSheet()-getStyle(A1:D.$hang)-getAlignment()-setWrapText(true);4.单元格添加背景$worksheet-getStyle(A2:I3)-getFill()-setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)-getStartColor()-setARGB(87CEFA);5.下载图片$url.;//下载链接$drawing[$hang]new\PhpOffice\PhpSpreadsheet\Worksheet\Drawing();$drawing[$hang]-setName(图片);$drawing[$hang]-setDescription(图片);$drawing[$hang]-setPath($url);$drawing[$hang]-setWidth(70);$drawing[$hang]-setHeight(70);$drawing[$hang]-setCoordinates(AC.$hang);$drawing[$hang]-setOffsetX(0);$drawing[$hang]-setOffsetY(0);$drawing[$hang]-setWorksheet($excel-getActiveSheet());6.表格行高$worksheet-getRowDimension($hang)-setRowHeight(28);7.单元格合并$excel-getActiveSheet()-mergeCells(A.$hang.:AF.$hang);8.单元格文本格式$worksheet-getCell(C.$hang)-setValueExplicit(,\PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);二、导入表格注意点1.时间转换2.是否为数字publicfunctionimport(){$file$this-request-post(file);$filestr_replace($this-domain_url,,$file);if(!$file){$this-error(__(Parameter %s can not be empty,file));}$filePathROOT_PATH.DS.public.DS.$file;// print_r($filePath);exit;if(!is_file($filePath)){$this-error(__(No results were found));}$extpathinfo($filePath,PATHINFO_EXTENSION);if(!in_array($ext,[csv,xls,xlsx])){$this-error(__(Unknown data format));}if($extcsv){$filefopen($filePath,r);$filePathtempnam(sys_get_temp_dir(),import_csv);$fpfopen($filePath,w);$n0;while($linefgets($file)){$linertrim($line,\n\r\0);$encodingmb_detect_encoding($line,[utf-8,gbk,latin1,big5]);if($encoding!utf-8){$linemb_convert_encoding($line,utf-8,$encoding);}if($n0||preg_match(/^.*$/,$line)){fwrite($fp,$line.\n);}else{fwrite($fp,.str_replace([,,],[,,],$line).\\n);}$n;}fclose($file)||fclose($fp);$readernewCsv();}elseif($extxls){$readernewXls();}else{$readernewXlsx();}$insert[];try{if(!$PHPExcel$reader-load($filePath)){$this-error(__(Unknown data format));}$currentSheet$PHPExcel-getSheet(0);$allRow$currentSheet-getHighestRow();$i1;for($j2;$j$allRow;$j){$insert[$i-1][csnametrim($currentSheet-getCell(B.$j)-getValue()),nametrim($currentSheet-getCell(C.$j)-getValue()),cssnametrim($currentSheet-getCell(D.$j)-getValue()),csssnametrim($currentSheet-getCell(E.$j)-getValue()),allmoneytrim($currentSheet-getCell(F.$j)-getValue()),catenametrim($currentSheet-getCell(G.$j)-getValue()),cstimetrim($currentSheet-getCell(H.$j)-getValue()),csareatrim($currentSheet-getCell(I.$j)-getValue())];$i;}}catch(Exception$exception){$this-error($exception-getMessage());}if(!$insert){$this-error(__(No rows were updated));}$insertArr[];$return[codetrue,msg成功];foreach($insertas$key$val){// print_r($val);exit;$temp[name]$val[name];$temp[csname]$val[csname];$temp[cssname]$val[cssname];$temp[allmoney]$val[allmoney];$temp[csarea]$val[csarea];//时间if(!empty($val[cstime])){$time$val[cstime];//表格时间样式$d25569;$t24*60*60;$checkdateintval(($time-$d)*$t);$checktimegmdate(Y-m-d H:i:s,$checkdate);$temp[cstime]!empty($checktime)?strtotime($checktime):0;}else{$return[codefalse,msg时间不为空];break;}//来源地省市if($val[csssname]){$areanew\app\common\model\Area;$wherea[];$wherea[name]$val[csssname];$temptzf[];$temptzf[other]false;$categorys$area-getOne(id,pid,name,shortname,$wherea,$temptzf);if($categorys[code]false){$return[codefalse,msg来源地[.$val[csssname].]不存在];break;}else{$tzflaiyuanname!empty($categorys[data])?$categorys[data][name]:;}}else{$return[codefalse,msg来源地不为空];break;}if(!is_numeric($val[csmoney])){$return[codefalse,msg不为数字];break;}if($val[csmoney]0){$return[codefalse,msg不为负值];break;}// print_r($temp);exit;$insertArr[]$temp;$resultDb::name(test)-insertGetId($temp);}if(!$return[code]){$this-error($return[msg]);}// $this-selfModel-allowField(true)-saveAll($insertArr);$this-success(导入成功);}三、PDF导出publicfunctiondaochupdf(){$id$this-request-request(id);$xmsnew\app\common\model\Xms();$where[];$where[id]$id;$ones$xms-getOne(,$where);$one$ones[data];$pdfnew\TCPDF(L,mm,A4,true,UTF-8,false);// 设置文档信息----文件创作者$pdf-SetCreator(PDF_CREATOR);$pdf-SetAuthor();$pdf-SetTitle($one[name]);$pdf-setPrintHeader(false);// 去除页眉下划线$pdf-setPrintFooter(false);// 去除页脚下划线// 设置默认等宽字体$pdf-SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);// 设置间距$pdf-SetMargins(1,1,1);$pdf-SetHeaderMargin(0);$pdf-SetFooterMargin(0);// 设置分页$pdf-SetAutoPageBreak(TRUE,PDF_MARGIN_BOTTOM);// 设置图像比例因子$pdf-setImageScale(PDF_IMAGE_SCALE_RATIO);// 设置默认字体构造子集模式global$l;$pdf-setLanguageArray($l);// 设置字体$pdf-SetFont(stsongstdlight,,10);// 添加一个页面$pdf-AddPage();if($one){$files$one[files];$html html head style .el-row { -webkit-box-sizing: border-box; box-sizing: border-box; position: relative; } .el-col-24 { width: 100%; } .title { line-height: 24px; background: #F1F7F5; padding-left: 5px; margin: 15px 0 5px; color: black; font-size: 14px; font-weight: bold; border-bottom: 2px solid #46BF93; } /style /head body div classel-row div classel-col el-col-24 div classtitle img srchttps://.com/assets/img/xqbot.png alt styleheight:24px;width: 10px;基本信息 /div /div /div div table tr td styleheight:30px;width: 150px;text-align: right;项目名称/td td styleheight:40px;width: 250px;text-align: left;padding-left: 20px;.$one[name].i styleheight:30px;font-size:8px;margin:3px;width:80px;color:#fff;background-color:.$one[status_color].;.$one[status_text]./i/td /tr tr td styleheight:30px;width: 150px;text-align: right;简介/td td stylewidth: 650px;text-align: left;padding-left: 20px;.$one[blurb]./td /tr tr td styleheight:20px;/td /tr tr td styleheight:30px;width: 150px;text-align: right;活动开展情况/td td styletext-align: left;padding-left: 20px;width: 450px; ul stylelist-style: none; ;foreach($filesas$k$v){$html. li img src.$v[url]. stylewidth:70px;height:70px;text-align: left;.$v[name]. /li;}$html./ul/td/tr/table/div/body/html;$pdf-writeHTML($html,true,false,true,false,);//$pdf-writeHTMLCell(0, 0, , , $html, LRTB, 1, 0, true, L, true);$pdf-lastPage();}$pdf-lastPage();// 默认是I在浏览器中打开D下载F在服务器生成pdf S只返回pdf的字符串个人感觉无实在意义// $pdf-Output(down.pdf, I);// exit;$title$one[name]..pdf;$dir/www/wwwroot/abc.abc.com/public/uploads/pdf/.$title;$pdf-Output($dir,I);exit;}
延伸阅读

更多相关文章

2026/10/20 1:10:37

副队长JavaScript教程(6)–输出语句

点此查看 所有教程、项目、源码导航 文章目录1. 前言2. 弹窗输出3. 网页内容输出4. 控制台输出5. 小结1. 前言 之前我们只讲过一个JS语句:alert,用于弹窗显示信息。一般这种程序显示信息的语句,可以称之为输出语句,意思是程序输出…

2026/10/20 1:05:37

ROS2工业级开发:实时性、资源适配与可交付验证体系

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

WSL下STM32开发板烧录指南:USB透传与OpenOCD实操

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 6:11:27

从28.2%到2.25%:ImageNet七年冠军史,看懂深度学习图像分类进化

先说明一件事:标题里这个“7年”其实是个比较宽泛的说法。ILSVRC从2010年第一届办到2017年谢幕,严格算是八个赛季;但如果从2011年大家开始认真对待这个比赛、正式把它看成一条技术赛道算起,到2017年最后一届刚好七年。无论按哪个口…

2026/10/20 6:11:27

冷链仓储成本失控?WMS用效期与温层管理破局

1. 零售业冷链高成本困局从何而来我做仓储物流这一行十几年,见过不少项目从春风得意到黯然收场。盒马会员店最近传出全线关闭的消息,很多同行在群里讨论,有人说是选址问题,有人说是商品力不够。但我在看这条新闻时,第一…

2026/10/20 6:11:27

谷歌购物/google购物 协议采集分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间点击头像看简介或…

2026/10/20 6:11:27

C语言笔试题

第119~121集&#xff08;鹏哥C语言&#xff09; 文章目录笔试题 1&#xff1a;笔试题 2&#xff1a;笔试题 3&#xff1a;笔试题 4&#xff1a;笔试题 5&#xff1a;笔试题 6&#xff1a;笔试题 7&#xff1a;笔试题 8&#xff1a;笔试题 1&#xff1a; #include <stdio.h&g…

2026/10/20 6:06:26

ppt-master:用代码和配置自动化生成PPT的工程化方案

1. 项目概述&#xff1a;这不是一个PPT模板&#xff0c;而是一套可编程的幻灯片生成系统“ppt-master”这个名称乍一听像是某个网红PPT模板合集&#xff0c;但实际接触过的人很快会发现——它根本不是传统意义上的美化资源包。我第一次在某技术社区看到这个词时&#xff0c;也以…

2026/10/19 18:06:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介&#xff1a;这份PDF报告聚焦2025年金融服务业中国AI现状与趋势&#xff0c;面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者&#xff0c;帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件&#xff0c;大小约1…

2026/10/20 1:05:37

单片机C运行时从启动到多任务:中断安全与共享资源冲突

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

GCC编译四步详解:预处理、编译、汇编、链接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

FIW线是什么?FEP注塑线与普通氟塑料线的区别及应用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑