ThinkPHP5.1 excel表的导入导出操做 (PHPExcel)

☞ 背景

  • 这两天在开发快递查询的功能时,涉及到了 Excel表导入MySQL 的操做,为了方便后期的快捷使用,在此整理一下 PHPExcelexcel 表导入导出的代码解决步骤,但愿能帮到有须要的道友们…

框架:ThinkPHP5.1
类库:PHPExcel
技能:Composer,MySqlphp

☞ 前期准备:PHPExcel 类库的获取

第一种方式为:使用 Composer 进行安装;
第二种方式为:直接到【Github·PHPOffice/PHPExcel】下载源包
后者须要注意,将压缩包解压后放到vendor目录,而且注意路径的正确引入
此处,只作第一种方式的指导参考 [建议学会Composer的简单使用,实在是太方便了]html

  • 进入项目目录,输入命令: composer require phpoffice/phpexcel

    安装成功后,会注意到项目的vendor目录下,多出了一个phpoffice文件夹

☞ 如何将 Excel中的数据导入MySQL

除了参考我展现的步骤,也要注意下个人代码注释哦!git

①. excel 文件的整理

首先要求用来导入MySQL 数据表的 excel文件中的内容要规整,对应于你的数据表github

  • 鄙人将其放置于目录public\cms\file\bird_express.xlsx

以我要操做的 excel表为例,(数据简单,可触类旁通,自由拓展):
web

②. 建立目标数据表

  • 以个人简答测试为例,表格设计以下:

③. MTPhpExcel类的使用

  • 首先引入所提供源码中的 MTPhpExcel.php
    下图即为我建立的 测试入口,主要目的就是为了调用核心方法 readExcelFileToArray()
    在这里插入图片描述

核心处理方法 readExcelFileToArray() 源码见附录thinkphp

  • 运行代码后的结果以下:

☞ 如何将数据导出到Excel文件 ☜

  • 同理,我设计了一个测试方法,主要目的就是为了调用核心方法 outputDataToExcelFile()

核心处理方法 outputDataToExcelFile() 源码见附录express

  • 运行代码后,能够获得以下的一个 excel 表:
  • 【舒适提示:】
1. 为了代码参考方便,鄙人尽可能使其简洁化
   因此若是对于某列数据须要字体加粗、居中、变大等各类操做,可自行扩展
2. 当前代码,未作图片格式的展现处理
   若有须要可阅读 phpexcel 文档规则,根据目标数据对应性处理便可 ...

☞ 附录

>>>源码下载>>>

  • 主要使用的就是其中的 MTPhpExcel

☛ 参考文章