php 调用office 组件,GitHub - senmangit/phpoffice: 基于phpspreadsheet封装的excel导表组件,非常好用且功能强大的导表神器...

2023-11-06

phpoffice

简单易用的phpoffice套件,可实现导入/导出excel、将word转为PDF,将pdf转为图片等等功能。。

一、安装

composer require senman/phpoffice dev-master

二、使用示例

1、导出表格

require 'vendor/autoload.php'; //引入自动加载文件

$phpexcel = new \Excel\Excel(); //实例化入口文件

//设置表格标题和样式

$tableheader = [

[

"title" => "我是标题1",//定义标题,必须要配置

"font_size" => 10,//定义标题字体大小

"font_name" => "微软雅黑",//定义标题

"font_color" => "FFFF0000",//定义标题字体颜色

"fill_color" => "00B050",//填充颜色

],

[

"title" => "我是标题2",

// "font_size" => 10,//定义标题字体大小

// "font_name" => "微软雅黑",//定义标题

// "font_color" => "FFFF0000",//定义标题字体颜色

// "fill_color" => "00B050",//填充颜色

]

];

//设置数据部分的表格样式

$data_style = [

"font_size" => 10,//定义数据部分字体大小

"font_name" => "微软雅黑",//定义数据部分

"font_color" => "FFFF0000",//定义数据部分字体颜色

"fill_color" => "00B050",//定义数据部分填充颜色

"fill_type" => "solid",//定义填充类型,默认为solid

];

//定义sheet的名称

$sheetname = "测试表";

//定义数据

$data = [

["senman" => 1, "senman1" => "2"],

];

$file_name="test.xls";//文件名称

//执行导出

$is_save=0; //0:直接下载,1:生成文件后保存在服务器(同时需要配置保存路径)

$save_path="./";//文件保存路径,当is_save为1时生效,否则不生效

//表格属性,选配

$properties=[

"creator"=>"创建人",

"last_modified"=>"最后修改人",

"title"=>"标题",

"subject"=>"主题",

"description"=>"描述",

"keywords"=>"关键词",

"category"=>"种类",

];

$phpexcel->export($data, $file_name, $tableheader, $sheetname, $is_save, $save_path, $properties, $data_style);

$data是需要传入的数据,为必须要传入的参数

$file_name 是导出的表格名称,为必须要传入的参数

$sheetname 为子表sheet的名称,为必须要传入的参数,

$fileheader,为必须要传入的表标题,最简单的可这样传入数组:

["title"=>"姓名","title"=>"性别"]

2、导入表格

import()方法有以下参数,除第一个资源路径参数为必须外,其余为选传参数

参数有:$source, $start_line = 2, $end_line = null, $start_column = 1, $end_column = null

$source:文件路径,(必须传入)

$start_line:从第几行开始

$end_line:到几行结束

$start_column:从第几列开始

$end_column:到第几列的数据

该函数返回一个数组

require 'vendor/autoload.php';

$phpexcel = new \Excel\Excel();

//表格导入测试

$source = __DIR__ . DIRECTORY_SEPARATOR . 'test.xls';

var_dump($phpexcel->import($source));

3、将word转为pdf

该功能基于借助了openoffice服务,具体服务详情自行查阅相关文档,

支持将下列格式文件转为pdf:

'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'

$converter = new PDFConverter();//实例化PDF组件

$source = __DIR__ . '/1.doc';//需要转的资源文件

$export = __DIR__ . '/2.pdf';//转成功后需要存贮的路径即文件名

$converter->execute($source, $export);//执行转化操作

4、将pdf转为图片,该功能需要安装imagick扩展

$pdf 待处理的PDF文件

$path 待保存的图片路径

$page 待导出的页面 -1为全部 0为第一页 1为第二页

$pdftoimage=new \Word\PdfToImage();

$pdf = __DIR__ . DIRECTORY_SEPARATOR . '2.pdf';//需要转为图片的PDF

$path = __DIR__ . DIRECTORY_SEPARATOR . 'test.png';//需要保存的图片路径

var_dump($pdftoimage->pdf2png($pdf,$path,$page=-1));

5、若是需要在linux安装openoffice环境,可直接执行该包里的office.sh脚本文件,可以避免很多的踩坑事件

6、如有任何疑问欢迎加入QQ群:338461207 进行交流

if you have any questions, welcome to join QQ group: 338461207

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php 调用office 组件,GitHub - senmangit/phpoffice: 基于phpspreadsheet封装的excel导表组件,非常好用且功能强大的导表神器... 的相关文章

  • Java循环依赖使用@Lazy(懒惰的)注解解决

    Lazy Autowired private TaskService taskService Lazy 懒加载注解的概念 SpringIoC容器会在启动的时候实例化所有单实例 bean 如果我们想要实现 Spring 在启动的时候延迟加载
  • vue2转vue3笔记

    定义 vue3中不再使用data函数 而是采用ref reactive来定义响应式的数据 ref用来存放基本数据 reactive用来存放复杂的数据 注意这两种参数的值都不能直接使用 而是使用xxx value才能对其进行复制 而且reac
  • yaml配置对象map

    yaml配置如下 objectConfig object map 1 name 对象一 desc 这是第一个对象 url https abc abc abc 2 name 对象二 desc 这是第二个对象 url https abc abc
  • 基于沙猫群优化算法的函数寻优算法

    文章目录 一 理论基础 1 沙猫群优化算法 1 初始化种群 2 搜索猎物 探索 3 攻击猎物 开发 4 探索和开发 2 SCSO算法伪代码 二 仿真实验与结果分析 三 参考文献 一 理论基础 1 沙猫群优化算法 文献 1 提出了一种新的元启
  • 【Apifox】国产测试工具雄起

    在开发过程中 我们总是避免不了进行接口的测试 而相比手动敲测试代码 使用测试工具进行测试更为便捷 高效 今天发现了一个非常好用的接口测试工具Apifox 相比于Postman 他还拥有一个非常nb的功能 在接口的测试完成后 它可以一键生成接
  • Scripting.FileSystemObject控件的用法

    文件系统对象FSO的英文全称是File System Object 这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法 通过采用object method这种在面向对象编程中广泛使用的语法 将一系列操作文件和文件夹的动作通过调
  • Cadence orcad 原理图导出带书签目录的办法

    Cadence orcad 导出pdf 方便软件工程师或者其他人员查看 但是Cadence自带的导出pdf的办法不能同时导出书签目录 不利于查看 这片文章就是介绍怎么使用Cadence orcad 原理图导出带书签目录的pdf 这里以cad
  • 使用umr读取AMDGPU VRAM

    使用umr读取AMDGPU VRAM 造case 使用UMR读取内存 使用devmem2验证读取 huge page 造case gdb args kfdtest GNU gdb Ubuntu 9 2 0ubuntu1 20 04 1 9
  • 自动发送邮件(第一次做勿喷)

    import smtplib from email message import EmailMessage email EmailMessage Creating a object for EmailMessage email from x
  • 考ACM需要的知识(转)

    转自 http www ithao123 com topic 10002 html 对ACM竞赛的算法大概分了一下类 分成了数学 数据结构和算法三大块 对ACM竞赛的算法大概分了一下类 分成了数学 数据结构和算法三大块 一 数学 Mathe
  • 在机器学习里,什么是凸样本集和非凸样本集?

    如果一个数据集D是凸的 那么对于其中任意的两点x y D R 0 1 则 x 1 y D表达式 x 1 y被称作点x y 的 凸性组合 convex combination 简单来说 数据集D中任意两点的连线上的点 也会在数据集D内 那么数
  • Linux性能监控命令_nmon 安装与使用

    目录 1 安装nmon 1 1 下载 nmon 监控工具 1 2 下载 nmon 分析工具 2 nmon监控 2 1 实时监控 监控CPU 监控内存 监控磁盘 监控网络 监控文件系统 2 2 后台监控 3 图形报表解读 3 1 SYS SU
  • 剑指offer 学习笔记 构建乘积数组

    面试题66 构建乘积数组 给定一个数组A n 请构建一个数组B n 其中B i A 0 xA 1 x xA i 1 xA i 1 x xA n 1 不能使用除法 如没有不能使用除法的限制 可以用A中所有元素的乘积除A i 来得到B i 此时
  • C#调用Java后端的restful接口(传递多参数)

    由于工作中的需要 在C 的winform窗口中调用html前端页面 是用webbrowser实现 此处不多做概述 但是前端请求的接口是用Java编写的 在webbrowser中使用C 来请求Java后端的restful接口 此处是C win
  • 掌上生活服务器维护中,招行掌上生活登录不上

    由于换了手机号 招行掌上生活一直登不上 打了不下10个客服电话后 终于得到一套非常复杂可能有效尚未尝试的解决方案 怕等下忘了 赶紧先记录一下 那么这个方案复杂到什么程度呢 复杂到客服妹妹已经无法理解 只能一字不落地读给我听然后寄希望于我的程
  • 可信启动、安全启动:SGX、TrustZone、SecureEnclave

    最近在公众号上看到了一篇文章 算是又丰富了自己的安全方面的眼界 最近看公众号取代了小视频 知乎这些东西 以前是真的不喜欢碎片化的东西 看什么学什么总是要找到书籍 但是这样的做法太过的极端 因为有时候有些事是两面性的 比如像安全这方面 本来有
  • Java 华为真题-黄金宝箱最大值

    需求 一贫如洗的樵夫阿里巴巴在去砍柴的路上 无意中发现了强盗集团的藏宝地 藏宝地有编号从0 N的箱子 每个箱子上面贴有一个数字 阿里巴巴念出一个咒语数字k k
  • New Bing/Bing AI一直提示未登录

    重新注册microsoft账号 任意邮箱均可 地区选US 期间必须一直挂着全局dl
  • 如何解决秒杀的性能问题和超卖的讨论

    一 秒杀带来了什么 秒杀或抢购活动一般会经过 预约 抢订单 支付 这3个大环节 而其中 抢订单 这个环节是最考验业务提供方的抗压能力的 抢订单环节一般会带来2个问题 1 高并发 比较火热的秒杀在线人数都是10w起的 如此之高的在线人数对于网

随机推荐

  • 树莓派无屏幕wifi ssh和vnc界面连接,手机ssh连接

    系统下载和系统烧写到SD卡 国内下载地址 下载zip解压 https mirrors tuna tsinghua edu cn raspberry pi os images raspios full armhf images raspios
  • 新技能 get —— Python 断点续传下载文件

    from urllib request import urlretrieve import sys import os prev reported download percent None 首先定义下载 hook 作为 urllib re
  • Elastic Search 相关度计算

    为了搞清楚elastic search背后是如何计算文档搜索时候的相关度 我决定自己做实验去探索 这篇博客讲得还不错 http blog csdn net dm vincent article details 42099063 而博客本身也
  • Flink Connection拒绝:localhost / 127.0.0.1:8081

    提交flink 任务报错 Exception Connection refused localhost 127 0 0 1 8081 at java util concurrent CompletableFuture encodeThrow
  • 给指定的元素添加水印

    let watermark desc 给指定的元素添加水印 params Object obj params1 String canvasId canvas元素 params2 String contentId canvas父容器元素 pa
  • TCP/IP为例数据封装与解封装过程

    一TCP IP数据封装过程 TCP IP数据封装分为5个步骤 在本文中我将按流程顺序介绍TCP IP的数据封装过程 应用层 应用层将需要传输的数据 如 文字 视频 图片 音频等 转换成能够被电脑识别的二进制数字也就是将数据翻译成设备能识别的
  • 单元测试学习笔记

    单元测试的一些好处 单元测试降低了Bug数量 防止过耦合的设计 已测试的代码更易于添加功能或修复Bug TDD 测试驱动开发策略 选择单元测试框架 单元测试命名 单元测试的艺术 书中推荐的测试命名规则 项目 创建一个名为 ProjectUn
  • 图像处理-目标检测、语义分割和实例分割的特点与区别

    目标检测 语义分割和实例分割是计算机视觉领域中常用的图像分析任务 它们在目标识别和场景理解方面发挥着重要作用 下面将介绍它们的特点和区别 1 目标检测 目标检测是识别图像中存在的物体并确定它们的位置 它通常通过在图像中绘制边界框来标记物体的
  • 统信UOS系统安装最最最详细教程,手把手教

    统信UOS系统安装最详细教程 一 背景意义 操作系统厂商很容易取得用户的各种敏感信息 你的身份 账户 通讯录 手机号那么多数据在一起 如果你用大数据分析 我们国家经济社会的这种活动情况其实都可以了解 统计的数字比统计部门的数字还准确 更快
  • 压缩感知之入门文献

    在搜索相关资料时 看到了一个不错的资源 入门级的介绍 给出了链接 有需要的可以去下载 如过实在有困难 可以留下地址 我会尽量一一恢复 https download csdn net download doumiji 3294118
  • spring boot学习1之main和tomcat启动及log日志

    写了个spring boot例子 的确是零配置 平时需要写个web例子测试之类的时候 用它还挺方便的 现在开发都搞微服务 api端之前都是dubbo或jesry 现在也可以用spring boot了 现在记录下spring boot的小例子
  • DHCP基础配置

    要求 1 DHCP Server0 0 0口使用接口DHCP进行分配IP 2 DHCP Server0 0 1口使用全局DHCP进行分配IP 3 各PC间均可以互通 需求分析 1 对GE 0 0 1接口 IP分配 2 进行配置全局地址池 3
  • 秒懂Python 赋值,浅拷贝,深拷贝

    直接赋值 对象的引用 别名 浅拷贝 copy 拷贝父对象 不会拷贝对象的内部的子对象 深拷贝 deepcopy copy模块的deepcopy方法 完全拷贝了父对象及其子对象 1 基础概念 在Python里 一切皆对象 完全的面向对象 1
  • 手把手教你用C#写一个刷屏软件

    手把手教你用C 写一个刷屏轰炸软件 成品展示 环境准备 新建项目 程序思路 程序部分 完整代码 成品展示 环境准备 VS2019 新建项目 打开界面绘制 打开工具箱开始放置按钮标签以及文本框 最后设计完成的效果 这里需要注意的是这里的每个按
  • BurpSuite安装与浏览器导入证书

    目录 前言 模块介绍 Burp安装 burp配置与jdk环境安装 首次激活 浏览器配置 设置代理端口 导入Burp证书 Chrome浏览器导入证书 Firefox导入证书 前言 Burp Suite是一个用于测试网络应用程序安全性的图形化工
  • pgslql+shp+geoserver 实现用pg库导入shp地图文件,然后通过geoserver发布图层的效果

    首先 要有一个地图shp文件 然后 pg库地址 里面有pg库的安装包和依赖 这个加载进去会自动生成模板 还有geoserver的安装包和navicat premium12的破解版 百度网盘地址 https pan baidu com s 1
  • 点云格式转换

    前言 在接收激光雷达数据后 将点云保存为bin文件 tofile 再转换成pcd文件 便于可视化排查 读取指定文件夹下的所有bin文件 并将bin文件转成txt文件 coding UTF 8 读取指定文件夹下的所有bin文件 并将bin文件
  • Vulkan 与 OpenGL 对比

    Vulkan 与 OpenGL 对比 Vulkan与OpenGL相比 可以更详细的向显卡描述你的应用程序打算做什么 从而可以获得更好的性能和更小的驱动开销 Vulkan的设计理念与Direct3D 12和Metal基本类似 但Vulkan作
  • 使用 Python 创建端到端聊天机器人

    使用 Python 创建端到端聊天机器人 1 效果图 2 原理 2 1 什么是端到端聊天机器人 2 2 创建端到端聊天机器人步骤 3 源码 3 1 streamlit安装 3 2 源码 参考 聊天机器人是一种计算机程序 它了解您的查询意图以
  • php 调用office 组件,GitHub - senmangit/phpoffice: 基于phpspreadsheet封装的excel导表组件,非常好用且功能强大的导表神器...

    phpoffice 简单易用的phpoffice套件 可实现导入 导出excel 将word转为PDF 将pdf转为图片等等功能 一 安装 composer require senman phpoffice dev master 二 使用示