PHPExcel-Import

<form action="/flightmanage/importExcel" method="post" enctype="multipart/form-data">
            <input type="file" name="excel_name" >
            <input type="submit" value="确认导入">
</form>

function

public function importExcel()
    {
//	    print_r($_FILES['excel_name']);die;
        if (!empty($_FILES['excel_name']['name'])) {
            $fileName = $_FILES['excel_name']['name'];    //得到文件全名
            $dotArray = explode('.', $fileName);    //把文件名安.区分,拆分成数组
            $type = end($dotArray);
        }

        if ($type != "xls" && $type != "xlsx") {
            $ret['res'] = "0";
            $ret['msg'] = "不是Excel文件,请重新上传!";
            echo 'no excel';
        }

//        $path = dirname(__FILE__).'/../../upload/'.$_FILES['excel_name']['name'];
        // excel 上传目录
        $base = dirname(__FILE__).'/../../upload/';
        if(!is_dir($base)){
            mkdir($base,0777,true);
        }
        $path = $base.date('Ymd').'/';
        if(!is_dir($path)){
            mkdir($path,0777,true);
        }
        $path = $path.$_FILES['excel_name']['name'].date('H-i-s');
        // 上传文件,文件路径
        move_uploaded_file($_FILES['excel_name']['tmp_name'],$path);

       
        // PHPExcel
        require_once(THIRD_PATH . '/PHPExcel/PHPExcel.php');
        $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
        $objPHPExcel = $objReader->load($path, 'utf-8');
        $sheet = $objPHPExcel->getSheet(0);
        $highestRow = $sheet->getHighestRow();           //取得总行数
        $highestColumn = $sheet->getHighestColumn(); //取得总列数


        $sql='insert into ***';

        for($j=2;$j<=$highestRow;$j++)                        //从第二行开始读取数据
        {
            $str="";
            $arr = [];
            for($k='A';$k<='I';$k++)            //从A列读取数据

            {
//                $str .= ','.$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();//读取单元格
                if ($k == 'A') {    // 日期
                    $arr['date'] = date('Y-m-d', PHPExcel_Shared_Date::ExcelToPHP($objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue()));
                }elseif ($k == 'E'){    // 起飞时间
                    $arr['fromtime1'] = gmdate('H:i:s', PHPExcel_Shared_Date::ExcelToPHP($objPHPExcel->getActiveSheet()->getCell("E".$j)->getValue()));
                }elseif ($k == 'F'){    // 到达时间
                    $arr['totime1'] = gmdate('H:i:s', PHPExcel_Shared_Date::ExcelToPHP($objPHPExcel->getActiveSheet()->getCell("F".$j)->getValue()));
                }elseif ($k == 'G'){    // 价格
                    $arr['price'] = (float)$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();
                }else{
                    $arr[] = (string)$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();//读取单元格
                }

            }

            foreach($arr as &$v){
                $v = '"'.$v.'"';
            }


        }
        $sql = mb_substr($sql,0,-1);

        $res = $this->db->query($sql);
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用PHPExcelExcel文件中的数据导入到数据库的步骤: 1. 首先,您需要安装PHPExcel库。您可以从官方GitHub存储库中获取最新版本的PHPExcel。下载后,将库的文件解压缩到您的项目目录中。 2. 创建一个名为“import_excel.php”的PHP文件,并在其中包含PHPExcel库中的“PHPExcel.php”文件。 3. 在“import_excel.php”文件中,创建一个HTML表单,允许用户上传Excel文件。 4. 在PHP文件中,使用以下代码将Excel文件中的数据读取到PHP数组中: ```php require_once 'PHPExcel.php'; $excel = PHPExcel_IOFactory::load($_FILES['file']['tmp_name']); $sheet = $excel->getActiveSheet(); $rows = array(); foreach ($sheet->getRowIterator() as $row) { $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(FALSE); $cells = array(); foreach ($cellIterator as $cell) { $cells[] = $cell->getValue(); } $rows[] = $cells; } ``` 5. 将数组中的数据插入到数据库中。您可以使用MySQLi或PDO等PHP扩展来执行此操作。以下是一个使用MySQLi的示例: ```php $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } foreach ($rows as $row) { $sql = "INSERT INTO table_name (column1, column2, column3) VALUES ('" . $row[0] . "', '" . $row[1] . "', '" . $row[2] . "')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } $conn->close(); ``` 6. 在浏览器中打开“import_excel.php”文件,并上传Excel文件。数据将被导入到数据库中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值