php导入Excel表格接口

简介: php导入Excel表格接口

首先下载:PHPExcel.php

https://codeload.github.com/PHPOffice/PHPExcel/zip/1.8

<?php
namespace app\api\controller;
use app\common\controller\Api;
use think\Db;
/*导入接口*/
class Import extends Api
{
    public function index(){
        /*引入PHPExcel插件*/
        require_once(VENDOR_PATH .'/phpExcel/PHPExcel-1.8/PHPExcel-1.8/Classes/PHPExcel.php');
        /**加载excel文件*/
        $file_name = request()->file('file');
        if(empty($file_name)){
            $this->error('请求失败,未识别到文件');
        }
        $info = $file_name->validate(['size'=>1567800,'ext'=>'xlsx,xls,csv'])->move(ROOT_PATH . 'public' . DS . 'excel');
      $exclePath = $info->getSaveName();  //获取文件名  
        $filename = ROOT_PATH . 'public' . DS . 'excel' . DS . $exclePath;   /**上传文件的地址*/  
        $objPHPExcel = \PHPExcel_IOFactory::load($filename,$encode='utf-8');    
        $sheet = $objPHPExcel->getSheet(0);
        $highestRow = $sheet->getHighestRow(); /**取得总行数*/
        $highestColumn = $sheet->getHighestColumn(); /**取得总列数*/
        $arr = array('A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'); 
         /**一次读取一列*/  
        $res_arr = array();  
        for ($row = 2; $row <= $highestRow; $row++) {  
            $row_arr = array();
            for ($column = 0; $arr[$column] != 'H'; $column++) {  
                $val = $sheet->getCellByColumnAndRow($column, $row)->getValue();  
                $row_arr[] = $val;  
            }  
            $res_arr[] = $row_arr;
        } 
        foreach($res_arr as $k=>$v) {
            // $data[$k]['birthday'] = date('Y-m-d',strtotime(strlen($v[3])==15 ?('19'. substr($v[3],6,6)):substr($v[3],6,8)));  /**生日*/
            // $data[$k]['birthday'] = trim($v[1]);
      $data[$k]['address'] = trim($v[1]);   /**籍贯*/
      $data[$k]['record'] = trim($v[2]);    /**学历*/
      $data[$k]['gradeid'] = trim($v[3]);   /**岗位档级*/
      $data[$k]['base_pay'] = trim($v[4]);  /**档级工资*/
      $data[$k]['name'] = trim($v[5]);      /**名称*/
      $data[$k]['tel'] = trim($v[6]);       /**手机号*/
//      if(!empty($money)){
//          $data[$k]['gradeid'] = $v[6];     /**岗位档级*/
//          $data[$k]['base_pay'] = $money;   /**岗位档级*/
//      }
        }
        /**开启事务*/
        Db::startTrans();
        $catch = [];
        $ok = 0;
        $error = 0;
        foreach ($data as $key=>$value){
            try {
                $success = db('staffs')->insert($value); /**插入数据*/
                if (!empty($success)) {
                    Db::commit();
                    $ok++;
                }else{
                    $error++;
                    $catch[] = ['name'=>$value['name'],'tel'=>$value['tel']];
                }
            } catch (\Exception $e) {
                $catch[] = ['name'=>$value['name'],'tel'=>$value['tel']];
                Db::rollback();
                $error++;
            }
        }
        $total = count($res_arr);
        $this->success("总{$total}条,成功{$ok}条,失败{$error}条。",$catch);
    }
}
相关文章
|
7天前
|
文字识别 BI
【图片型PDF】批量识别扫描件PDF指定区域局部位置内容,将识别内容导出Excel表格或批量改名文件,基于阿里云OCR对图片型PDF识别改名案例实现
在医疗和政务等领域,图片型PDF文件(如病历、报告、公文扫描件)的处理需求广泛。通过OCR技术识别这些文件中的文字信息,提取关键内容并保存为表格,极大提高了信息管理和利用效率。本文介绍一款工具——咕嘎批量OCR系统,帮助用户快速处理图片型PDF文件,支持区域识别、内容提取、导出表格及批量改名等功能。下载工具后,按步骤选择处理模式、进行区域采样、批量处理文件,几分钟内即可高效完成数百个文件的处理。
49 8
|
3月前
|
SQL 数据可视化 数据挖掘
想让Excel表格设计更美观?试试这几款好用工具!
Excel表格设计在项目管理和数据分析中至关重要。本文推荐四款辅助工具:板栗看板、Excel自动图表助手、Think-Cell Chart 和 Power BI,分别在任务管理、图表生成、数据可视化等方面表现突出,帮助你设计出更专业、美观的表格。
148 2
|
3月前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
207 5
|
4月前
|
JavaScript 前端开发 数据处理
Vue导出el-table表格为Excel文件的两种方式
Vue导出el-table表格为Excel文件的两种方式
225 6
|
4月前
|
前端开发 JavaScript API
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
335 0
|
4月前
|
Java Apache
Apache POI java对excel表格进行操作(读、写) 有代码!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
259 0
|
5月前
|
Java PHP 数据安全/隐私保护
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
本文详细介绍了PHP面向对象编程的一系列核心概念和用法,包括构造函数、析构函数、继承、方法重写、访问控制、接口、抽象类、静态成员、final关键字、以及this、self、parent这三个关键字的异同和作用。通过具体示例代码,展示了如何在PHP中使用这些面向对象的特性,以及它们在实际开发中的应用。
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
|
6月前
|
人工智能 BI
用ChatGPT做excel表格真香!只需动嘴提要求和复制粘贴
用ChatGPT做excel表格真香!只需动嘴提要求和复制粘贴
249 0
|
6月前
|
网络协议 API PHP
PhalApi:在宝塔一键安装部署PHP开源接口框架的教程
要在宝塔面板上一键安装部署PhalApi开源接口框架,首先进入宝塔软件商店,切换到“一键部署”选项,搜索“phalapi”并点击“一键部署”。安装时需填写接口域名、数据库名及密码,提交后等待安装完成。安装成功后可在宝塔面板中查看新站点和源代码目录,并通过DNS解析设置访问接口域名,如`http://myapi.phalapi.net/`。默认开启的调试模式便于测试,可通过修改`config/sys.php`中的`debug`值为`false`关闭。最后,在源代码中开发自己的PHP接口,PhalApi会自动生成在线接口文档,方便后续调用与维护。更多详细教程可参考官方文档。
|
6月前
Map——全国省市区EXCEL表格(包含code)
Map——全国省市区EXCEL表格(包含code)
89 0

热门文章

最新文章