PHPExcel

PHPExcel:PHP操作Excel的完全指南 本文还有配套的精品资源,点击获取 简介: phpexcel 库让PHP开发者可以轻松读写Excel文件,无需外部软件转换。本文详细介绍了如何安装、创建、读取、写入以及处理复杂Excel数据,包括合并单元格、工作表管理、数据验证和性能优化。该库支持 .xls 和 .xlsx 格式,提供丰富的API以及内存和性能优化技巧,是数据导入导出... 阅读详情

吾生也有涯,而知也无涯~欢迎优化补充、指正!

(直接复制demo即可使用,或者单独粘贴相应片段!)

*本文是在tp5下进行编译与调试的,其他框架原理相同、请自行调整。

*本文包括PHPExcel上传与下载,具体在demo中体现


首先下载PHPExcel源文件(本例采用github下载)

1.访问https://github.com/PHPOffice/PHPExcel 下载压缩包

2.解压后将PHPExcel 文件保存到extend下

 3.此时就可以开始使用了

由于PHPExcel不像tp框架的其他文件那样设置有命名空间,此处采用Loader::import引入文件

 Loader::import('PHPExcel.Classes.PHPExcel');
 Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');

接下来不再冗述直接上demo 方便大家使用(抛转引玉,大家魔改就好)

<?php
namespace app\admin\controller;

use think\Loader;
use think\Controller;

class Excel extends Controller
{
    //导出excel
    public function educe()
    {
        $path = dirname(__FILE__);//找到当前脚本所在路径
        Loader::import('PHPExcel.Classes.PHPExcel');
        Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');
        $PHPExcel = new \PHPExcel();
        $PHPSheet = $PHPExcel->getActiveSheet();
        $PHPSheet->setTitle("demo");
        $PHPSheet->setCellValue("A1","创建时间")
                 ->setCellValue("B1","订单编号")
                 ->setCellValue("C1","收件人")
                 ->setCellValue("D1","电话")
                 ->setCellValue("E1","地址");
        $PHPSheet->setCellValue("B2","选填,方便查询")
                 ->setCellValue("C2","必填")
                 ->setCellValue("D2","必填")
                 ->setCellValue("E2","河南省 郑州市 二七区 商阜新村三号楼 1单元 301户 示例必填");
        $PHPSheet->getColumnDimension('B')->setWidth('20'); //设置相应的列宽
        $PHPSheet->getColumnDimension('D')->setWidth('20'); 
        $PHPSheet->getColumnDimension('E')->setWidth('60');
        $this->cellColor($PHPSheet,'A1:E1','FF9900');//设置背景颜色
        $PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel,"Excel2007");
        header('Content-Disposition: attachment;filename="收件人模板.xlsx"');
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        $PHPWriter->save("php://output");
    }
    //改变颜色
    public function cellColor($PHPSheet,$cells,$color){
        $PHPSheet->getStyle($cells)->getFill()->applyFromArray(array(
            'type' => \PHPExcel_Style_Fill::FILL_SOLID,
            'startcolor' => array(
                 'rgb' => $color
            )
        ));
    }
    //导入excel
    public function intoExcel()
    {
        Loader::import('PHPExcel.Classes.PHPExcel');
        Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');
        $file = request()->file('excel');
        $info = $file->validate(['ext'=>'xlsx,xls,csv'])->move(ROOT_PATH . 'public' . DS . 'uploads');
        if ($info) {
            $exclePath = $info->getSaveName();
            $file_name = ROOT_PATH . 'public' . DS . 'uploads' . DS . $exclePath;
            //根据excel文件不同后缀选择不同提交方式
            $extension = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));
            if ($extension =='xlsx') {
                $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
                $obj_PHPExcel = $objReader ->load($file_name, $encode = 'utf-8');
            } else if ($extension =='xls') {
                $objReader = \PHPExcel_IOFactory::createReader('Excel5');
                $obj_PHPExcel = $objReader ->load($file_name, $encode = 'utf-8');
            } else if ($extension=='csv') {
                $objReader = \PHPExcel_IOFactory::createReader('CSV');
                //默认输入字符集
                $objReader->setInputEncoding('GBK');
                //默认的分隔符
                $objReader->setDelimiter(',');
                //载入文件
                $obj_PHPExcel = $objReader->load($file_name);
            }
            $excel_array=$obj_PHPExcel->getsheet(0)->toArray();
            return $excel_array;
        } else {
            return $file->getError();
        }
    }
}

*$PHPSheet->setCellValue()用来填充相应位置的内容。

例子所示数据有限,当然你可以循环输出多量数据或者通过formArray()从数组获取并填充到表格

$PHPSheet->formArray($array,null,'A1');

$array:数据来源数组

A1:起始填充位置

例:

$array = [
            '0'=>['01','02','03'],
            '1'=>['11','12'],
            '2'=>['21']
        ];

如上$array,输出后excel表格如下:

PHPExcel的基本用法就介绍到这里,如果有什么疑惑可以联系本人! 

兼容php7的 phpexcel 立即下载

相关推荐

PLC期末速成——顺序功能图转梯形图

一、根据顺序功能图写出梯形图程序 顺序功能图: 梯形图: 1、程序段1,系统运行标志M0.0的启-保-停控制电路。 2、程序段2,PLC上电与逆行,初始化脉冲M1.0激活初始化步M2.0。 3、程序段3,当M2.0初始化步为活动步,并且M0.0系统运行标志位为1时,置位M2.1步,复位M2.0步。 4、当M2.1为活动步,并且I0.3中液位传感器为1时,置位M2.2步,复位M2.1步。 5、程序段5,当M2.2为活动步,并且I0.2高液位传感器为1时,置位M2.3步,复位M2.2步。 6、程序段

qq_52251819的博客 1万+

phpexcel中文手册

首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把classes解压到你项目的一个目录中,重名名为phpexcel,开始喽,(代码都摘自自带实例) 程序部分 require_once'./phpexcel/PHPExcel.php'; //首先创建一个新的对象 PHPExcelobject $objPHPExcel =newPHP...

sunsineq的专栏 7095

OnePlus救砖指南:线刷包与OTA全量包实战解析

本文详细解析了OnePlus手机救砖的两种核心方法:线刷包与OTA全量包。针对手机变砖的不同状况(如黑屏、能进Recovery等),文章提供了清晰的判断标准和对应的实战操作指南。重点阐述了线刷包作为终极救砖手段的底层原理与详细步骤,并对比了OTA全量包作为温和修复方案的使用场景与卡刷流程,旨在帮助用户安全、有效地恢复手机系统。

weixin_28312391的博客 1315

PHPExcel 详解

PHPExcel 下载PHPExcel插件 慕课网学习 文件格式 Excel2007

我只是个小学生 能力有限 一直抱着学习的态度 4219

别再被systemd-resolved坑了!银河麒麟V10下用Bind9搭建内网DNS的完整避坑指南

本文详细介绍了在银河麒麟V10和Ubuntu系统下部署Bind9 DNS服务器时,如何解决与systemd-resolved的端口冲突问题。提供了五种专业级解决方案,包括彻底禁用systemd-resolved、智能端口转发等,并特别针对银河麒麟V10的安全加固需求给出了配置建议和诊断工具,帮助用户高效搭建内网DNS服务。

weixin_30342209的博客 654

51单片机独立按键控制LED(二)

对于机械开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,所以在开关闭合及断开的瞬间会伴随一连串的抖动。独立按键控制LED显示二进制。独立按键控制LED灯亮灭。独立按键控制LED状态。独立按键控制LED移位。

m0_50562428的博客 5381

PHP处理Excel插件PHPExcel常用方法详解

1.headerheader("Content-Type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=product.xls"); header("Pragma:no-cache"); header("Expires:0");2.PHPExcel开发包Tests目录有详细使用实例,支持中文,注

Rodgexue的专栏 3930

UE5新手必看:如何在UMG控件中嵌入浏览器实现Web页面展示(附完整步骤)

本文为UE5新手提供了在UMG控件中无缝集成Web浏览器的完整实战指南。详细介绍了从启用WebBrowser插件、创建并配置WebBrowser控件蓝图,到编写动态加载与交互逻辑,以及在游戏关卡中实例化UI的全过程。文章还分享了性能优化技巧与常见问题排查方法,帮助开发者高效实现游戏UI内的Web页面展示与交互。

weixin_29243063的博客 710

phpExcel的简单使用

文件导入和导出在web开发的应用场景十分广泛,本文就探讨如何使用phpExcel实现简单的导入和导出文件。

m0_68076368的博客 1122

三维重建/SLAM笔记_最佳学习路线/攻略

本文目的 学习三维重建,需要不少知识,而知识之间又存在不同的依赖关系,为了后来人能少走弯路,也为了对自己的知识框架系统总结,特记录自己的学习路线。 学习心得 关于读书,了解基础知识是一方面,产生疑问也是一方面,为以后知道学习什么留下印象; 一回生,二回熟,看不懂时,大多是因为先验知识不够,没关系,多查多想,总会搞懂的。 学习路线 1.计算机图形学基础(OpenGL基础版)(徐文鹏 清...

惊鸿一博 3291

从win系统远程使用服务器中的nsight system、nsight compute

本文介绍了如何在Windows系统中远程使用服务器上的Nsight System和Nsight Compute工具。主要内容包括:1)双系统同步安装相同版本的Nsight工具,配置环境变量;2)命令行生成profile文件或直接运行分析;3)Windows远程连接服务器的配置方法;4)解决权限问题的具体方案,如修改文件夹权限或调整NVIDIA驱动配置。文章提供了详细的安装步骤和常见问题解决方案,适用于需要进行GPU性能分析和调试的开发人员。

Justinyh的博客 401

PHPEXCEL使用实例

最近在项目中要用到PHP生成EXCEL,上网找了一下,发现PHPEXCEL挺不错,用了一下,感觉还行,就是设置单元格格式的时候比较麻烦,总体来说功能还是比较强大的,还有生成PDF什么的,发一个实例吧<?php require_once PHPExcel.php; require_once PHPExcel/Writer/Excel5.php; require

小逗狗的专栏 9706

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

PHPExcel的一些小tips

PHPExcel的一些小tips前言1、导出的Excel内容缺失或打开时报“部分内容有问题,是否让我们尽量尝试恢复”2、如果字符串中有“=”符号,PHPEXCEL将会报错3、需要Z以上的列数(AA-ZZ)4、两种保存方式 前言 用了PHPExcel有大半年了,这里是关于PHPEXCEL的一些小心得、踩过的坑 1、导出的Excel内容缺失或打开时报“部分内容有问题,是否让我们尽量尝试恢复” 两种可能...

ccheers_的博客 450

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

phpexcel

利用PHPExcel 实现excel数据的导入导出(源码实现) 在开发过程中,经常会遇到导入导出的需求,利用phpexcel类实现起来也是比较容易的,下面,我们一步一步实现 提前将phpexcel类下载,并放在扩展目录中,如图所示 一、Excel导出 导出功能,相对复杂,复杂就复杂在设置导出的excel文件的样式以及内容如何循环赋值,而且导出之后的处理结果,一般是直接在通过浏览器...

流星雨的博客 2298

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

thinkphp5引入PHPexcel

其实很简单难的就是后面的路很漫长慢慢琢磨 1.官网下载PHPEXel 下载地址:https://github.com/PHPOffice/PHPExcel 下载后只要Classes,复制Classes到tp5的extend下,并改名为PHPExcel,如下图所示 2.直接使用 建立Excel控制器,如下图所示,内容如下所示(例如:我要导出admin表中的内容,代码如下),导出如下图二所示。 代...

qq_1521514763的博客 4876

PHPEXCEL读出数据是PHPExcel_RichText类型

今天在做导入EXCEL数据时,而且单元格里的数据类型改成文本类型后,在PHPEXCEL读出来的是PHPExcel_RichText类型的,这类型使getValue()是不管用了,因为这时候getValue()返回的PHPExcel_RichText(下面是PHPExcel_RichText数据保存格式)是一个Object类型了,所以在插入数据的时候就为空。 PHPExcel_RichTex...

weixin_30824479的博客 652

PHPExcel生成图表

PHPExcel下载 自带的例子: 生成折线图示例: <?php $dir = dirname(__FILE__); require $dir."/db.php"; require $dir."/PHPExcel.php"; $db = new db($phpexcel); $objPHPExcel = new PHPExcel(); $objSheet = $

Epsilon 5484

PHPexcel 应用小DEMO

首先请先下载 PHPExcel 扩展包代码内需要引入&lt;?php class Excal { /** * @param $data 数据内容 ,数组格式 具体格式 见底部 * @param string $title 文件名称 */ public function Excel($data, $title = 'excel') { ...

qq_36421097的博客 381

PHPExcel样式控制

使用PHPExcel导出文件 PHPExcel导出mysql数据库数据 以上文章作为参考 下面是PHPExcel样式设置的代码: <?php $dir = dirname(__FILE__); require $dir."/db.php"; require $dir."/PHPExcel.php"; $db = new db($phpexcel); $objPHPExcel

Epsilon 5393

Codeigniter集成PHPExcel

CI框架里面PHPExcel的使用|导出数据到Excel文件 1. 准备开始...... 下载PHPExcel:http://phpexcel.codeplex.com  这是个强大的Excel库,这里只演示导出Excel文件的功能,其中的大部分功能可能都用不着。  2. 安装PHPExcel到Codeigniter 1) 解压压缩包里的Classes文件夹中

学如逆水行舟,不进则退 1971

PHPExcel基本使用

PHPExcel基本使用 1、效果 2、PHPExcel扩展 链接:https://pan.baidu.com/s/1VPj1-CqafHkdTxed0SrvYQ 提取码:ui2o 3、代码 public function...

夏已微凉、 1037

thinkphp5中使用PHPExcel

thinkphp5中可以使用composer来获取第三方类库,使用起来特别方便,例如:可是使用composer下载PHPMailer,think-captcha(验证码)等等…… 接下来说一下怎么使用PHPExcel,这是一个很好用的第三方类库。 1.使用composer下载PHPExcel,首先安装过composer之后,用dos命令行,引入到项目所在目录下,然后输入composer req

Iloveyougirls的博客 1万+

关于PHPEXCEL读取excel表的使用及过程中需要解决的问题

如今遇到使用PHPEXCEL读取EXCEL的开发,虽然网上大家都供献了很多不错的源码,不过遇到自己开发时也得根据自己的情况来使用并解决一些问题。这里把我在此开发过程中使用的方法及遇到的问题发布出来,方法能在这一篇文章中解决更多的问题。 一、PHPEXCEL的使用 使用PHPEXCEL需要先下载PHPEXCEL文件包,本文配备了文件包方便大家下载测试,也可以根据需要网上找更新的版本。 fun...

yh_bxhl的专栏 998

PHPExcel 的使用

用法码部分是本人调试的例子. 代码下面是PHPExcel 更多的用法说明(转载,地址在最下面

bing_xin_ran_huo的博客 709
上一篇: 网站客服插件
下一篇: ajax 文件上传
默先森-Jan
博客等级 码龄9年 1粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值