首页
学习
活动
专区
圈层
工具
发布

thinkphp导入excel教程

在ThinkPHP框架中,导入Excel文件可以通过多种方式实现,以下是使用PHPExcel库进行Excel文件导入的详细教程:

环境要求

  • PHP版本:7.2及以上
  • ThinkPHP版本:5及以上

安装PHPExcel库

PHPExcel库已经不再维护,推荐使用PhpSpreadsheet库。可以通过Composer进行安装:

代码语言:txt
复制
composer require phpoffice/phpspreadsheet

导入Excel文件的基本步骤

  1. 上传Excel文件
    • 前端:使用HTML表单实现文件上传。
    • 后端:处理文件上传,将文件保存到服务器。
  • 读取Excel文件数据
    • 使用PhpSpreadsheet库读取上传的Excel文件。
    • 遍历文件中的每一行数据。
  • 处理数据
    • 将读取到的数据保存到数据库或进行其他处理。

示例代码

以下是一个简单的示例,展示如何在ThinkPHP中实现Excel文件的导入功能:

代码语言:txt
复制
use PhpOffice\PhpSpreadsheet\IOFactory;
use think\facade\Request;

public function importExcel()
{
    $file = Request::instance()->file('excel_file'); // 获取上传的Excel文件
    if (!$file) {
        return json(['code' => 0, 'msg' => '文件未上传成功,请重试!']);
    }

    $spreadsheet = IOFactory::load($file->getRealPath()); // 加载Excel文件
    $sheet = $spreadsheet->getActiveSheet(); // 获取活动工作表
    $data = [];

    // 遍历工作表数据
    for ($row = 1; $row <= $sheet->getHighestRow(); $row++) {
        $cellValues = $sheet->rangeToArray('A' . $row . ':Z' . $row, null, true, true);
        $data[] = $cellValues[0];
    }

    // 将数据保存到数据库
    // ...

    return json(['code' => 1, 'msg' => '文件导入成功!']);
}

通过以上步骤,你可以实现ThinkPHP中的Excel文件导入功能。根据实际需求,你可能需要调整代码以适应不同的数据结构和业务逻辑。

希望这个教程能帮助你顺利实现Excel文件的导入功能

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Thinkphp使用PhpSpreadsheet导入&导出Excel(适用各种Excel操作场景)

PHP对Excel导入&导出操作 最近公司要做报表功能,各种财务报表、工资报表、考勤报表等,复杂程度让人头大,于是特地封装适用各大场景的导入&导出操作,希望各界大神支出不足之处,以便小弟继续完善。...导入操作(importExcel) 除了单纯的处理Excel数据外,还可以将Excel中的合并项、公式项、单元格格式提取,提取后可根据业务需求做对应处理后存储起来,以便后续的各种操作。...$objRead->canRead($file)) { throw new \Exception('只支持导入Excel文件!')...Excel导出操作(exportExcel) /** * Excel导出,TODO 可继续优化 * * @param array $datas 导出数据,格式['A1' => 'XXXX...Excel操作了,同时,可以十分方便的根据自己需要做扩展和调整。

4.6K10

ThinkPHP+PHPExcel实现excel导入导出数据(一)

没错,今天又将是一篇技术帖,一篇关于tp进阶学习的教程,看标题你就知道我要做的是什么啦? 首先我带大家科普一下什么是phpexcel?...也就是说,你可以用phpexcel将你数据库的数据通过excel表格导出和把excel表格数据导入到数据库,这样剩下了一大堆的事情,不用一次次的输入数据到数据库中。...然后,我们得去官网上下载好thinkphp(3.2.3)和phpexcel(1.8)这两个文件,通过之前的教程,相信很快就可以在你的电脑上运行tp,当你配置好tp后,解压下载的phpexcel,然后把phpexcel...excel表格。...别忘了,我们还有前台页面哦,在View下创建Index,在Index下创建index.html,代码如下: 来点效果图 excel表格内容 导入成功后,数据库内容

4.1K50
  • ThinkPHP5.1 excel表的导入导出操作 (PHPExcel)

    ☞ 背景 这两天在开发快递查询的功能时,涉及到了 Excel表导入MySQL 的操作,为了方便后期的快捷使用,在此整理一下 PHPExcel对excel 表导入导出的代码解决步骤,希望能帮到有需要的道友们...… 框架:ThinkPHP5.1 类库:PHPExcel 技能:Composer,MySql ☞ 前期准备:PHPExcel 类库的获取 第一种方式为:使用 Composer 进行安装;...安装成功后,会注意到项目的vendor目录下,多出了一个phpoffice文件夹 ☞ 如何将 Excel中的数据导入MySQL ☜ 除了参考我展示的步骤,也要注意下我的代码注释哦!...①. excel 文件的整理 首先要求用来导入MySQL 数据表的 excel文件中的内容要规整,对应于你的数据表 鄙人将其放置于目录public\cms\file\bird_express.xlsx...文件导入MySQL) * @return array */ public function inputMySQLTest() { $excel_file_path

    3.7K30

    ThinkPHP5.1 框架下 PhpSpreadsheet 操作 Excel 表的导入导出

    ■☞ 背景 最近在后台业务需求中又涉及到了 Excel 表的导入导出 正要参考以前整理的文章 —— 【ThinkPHP5.1 excel 表的导入导出操作 (PHPExcel)】 但是发现,好多道友早就提示了...) 如果觉得有帮助,也可参考参考鄙人获取的一份入门手册 链接:https://pan.baidu.com/s/1NEIH-yO-c9okPxhD2bkShA 提取码:8ssr 操作环境 > 框架:ThinkPHP5.1.40...中的数据 一般读取到 excel 表中的数据,就可以做后续的操作(发送短信,备忘数据等);此处以我导入数据库(mySQL)为例讲解 ▷ 前端操作 一般是需要一个文件上传按钮的,以鄙人使用 LayUI...上面代码中提到的 "(new Xmozxx())->importExcelData($file_real_path);",一般是要提取到 Model 操作类 中的,核心代码如下: /** * 导入...toUrl+query; 多样的实际测试,需要多做经验积累,建议多做尝试即可 … ▷ 服务端接口操作 相对来说,这个需求是简单的,在此讲解一下鄙人的操作思路: 首先,设置一个 一维的 "目标数据"ThinkPHP5

    3.9K30

    导入Excel表格

    导入Excel表格 开发工具与关键技术:MVC 作者:盘洪源 撰写时间:2019年4月21日星期天 我的理解就是这个导入Excel表格的作用就是相当于批量导入数据,比如说像新增学生信息这一种的话,你不可能在页面上一条一条的新增...这个导入Excel表格就是直接就把你所需要新增的学生信息全部导进数据库,但前提得有Excel表格数据,这个必须要有的,还得有个Excel表格模板,这个模板你可以自己设置好放到项目中,好给用户下载,但这个...Excel表格的表头得和页面自定义表的表头相对应,这样才能将数据导入进来。...下一个方法就是将导入的Excel表格的数据保存到session中。...Excel表格中的字段的 声明对象列表,存放导入的信息 将数据先装到datatable中,然后这里就和导出Excel表格有点相识了 获取标题行、获取表格列数、遍历循坏数据等等。

    3.6K10

    excel导入mysql代码_EXCEL导入Mysql方法「建议收藏」

    在平时的工作学习中,难免会遇到需要把EXCEL表中的数据导入到MYSQL中,比如要把EXCEL中的数据进行核对,或者要把测试用例导入到TestLink中。...本人搜集相关的资料并加以实践总结出了以下几种方法: 1.使用PHP Excel Parser Pro软件,但是这个软件为收费软件; 2.可将EXCEL表保存为CSV格式,然后通过phpmyadmin或者...SQLyog导入,SQLyog导入的方法为: ·将EXCEL表另存为CSV形式; ·打开SQLyog,对要导入的表格右击,点击“导入”-“导入使用加载本地CSV数据”; ·在弹出的对话框中,点击“改变....,把选择“填写excel友好值”,点击确定; ·在“从文件导入”中选择要导入的CSV文件路径,点击“导入”即可导入数据到表上; 3.一个比较笨的手工方法,就是先利用excel生成sql语句,然后再到mysql...中运行,这种方法适用于excel表格导入到各类sql数据库: ·假设你的表格有A、B、C三列数据,希望导入到你的数据库中表格tablename,对应的字段分别是col1、col2、col3 ·在你的表格中增加一列

    8.2K30

    mysql导入excel文件_将Excel数据导入MySQL「建议收藏」

    一开始使用的是MySQL for Execl功能,在安装MySQL的时候安装此控件,在Excel的数据菜单下可以直接调用,可以按照数据的前若干行判断数据库类型,但是比较鸡肋,因为时常判断不准,或者设置字段长度太短...一气之下换成Navicate 10工具导入数据。...1、用Navicat 10打开要导入数据的数据库 2、点击导入向导,选择导入文件格式 3、选择要导入的数据文件,如果有多个工作簿,可选择目标工作簿 4、填写导入的数据行数,日期数字格式 5、选择目标表...注意:最好先检查excel原始数据,若其中对某列的格式已经做了定义(如定义为日期格式),则此处要进行相应匹配(也定义为date),否则导入后该列数据将会是错数。...7、选择数据导入模式 8、按开始键,导入数据 9、导出结果为 导入MySQL的数据可以通过导出向导再次导出为Excel文件。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    21.3K11

    excel导入与导出

    修改这种文件后再保存,通常会提示你是否要转换成Excel文件。 优点:简单。 缺点:难以生成格式,如果用来导入需要自己分别编写相应的程序。...2:Excel格式,与类Excel相对应,这种方法生成的文件更接近于真正的Excel格式。...一、PHP导出Excel 1:第一推荐无比风骚的PHPExcel,官方网站: http://www.codeplex.com/PHPExcel 导入导出都成,可以导出office2007格式,同时兼容2003...>   3:利用smarty,生成符合Excel规范的XML或HTML文件 支持格式,非常完美的导出方案。不过导出来的的本质上还是XML文件,如果用来导入就需要另外处理了。...>   一个更好的例子: http://blog.chinaunix.net/u/16928/showart_387171.html 一、PHP导入Excel 1:还是用PHPExcel,官方网站: http

    2.8K60

    SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」

    案例 思维导图」「基础篇上」 SpringBoot图文教程2—日志的使用「logback」「log4j」 SpringBoot图文教程3—「‘初恋’情结」集成Jsp SpringBoot图文教程4—SpringBoot...拦截器的使用姿势这都有 SpringBoot图文教程8—SpringBoot集成MBG「代码生成器」 前言 Excel文件的导入导出功能,在项目中可以说是一个极其常见的功能了,使用到这技术的业务场景也非常多...,例如:客户信息的导入导出,运营数据的导入导出,订单数据的导入导出等等。...Excel需要用到的东西,如果要通过 SpringBoot 导入导入 Excel 文件,就要通过类和方法来进行。...Excel导入 /** * 文件导入 实际上就是文件导出反向操作 */ @Test public void test3() throws Exception {

    5.2K30
    领券