PHP Excel导入 阿星小栈

   public function doOrderIn(){

        $filename = public_path("/question.xlsx");

        if ($filename)
        {
            $tmp_file = $filename;

            $file_types = explode ( ".", $filename);

            $file_type = $file_types [count ( $file_types ) - 1];

            $objReader = \PHPExcel_IOFactory::createReaderForFile($filename);

            $objPHPExcel = $objReader->load($filename);

            $objPHPExcel->setActiveSheetIndex();

            $date = $objPHPExcel->getActiveSheet()->getCell()->getValue();

            $objWorksheet = $objPHPExcel->getActiveSheet();

            $i = 0;
            foreach($objWorksheet->getRowIterator() as $row){

                $cellIterator = $row->getCellIterator();

                $cellIterator->setIterateOnlyExistingCells(false);

                foreach($cellIterator as $cell){

                    $data[$i][] = $cell->getValue();
                }
                $i++;
            }
            unset($data[0]);
            unset($data[1]);
            unset($data[2]);

        }
        $updata = [];

        $key = -1;

        $counts = count($data);

        $succNum = 0;
        $data1 = [];
        if ($data) {

            foreach ($data as $k=>$v){

                $data1[$k][‘difficulty‘] = $this->getDifficultyText($v[2]);

                $data1[$k][‘title‘] = $v[3];

                $content = [];
                $content[] = $v[4];
                $content[] = $v[5];
                $content[] = $v[6];
                $content[] = $v[7];

                $data1[$k][‘contents‘] = json_encode($content,JSON_UNESCAPED_UNICODE);

                $data1[$k][‘answer‘] = $this->getAnswerText($v[8]);

                $data1[$k][‘question_type_text‘] = $v[9];

                $data1[$k][‘source_from‘] = $v[10];

                $data1[$k][‘author‘] = $v[11];

                $data1[$k][‘is_listed‘] = 1;

            }

        }
        foreach($data1 as $k=>$v){
            $res = Question::create($v);
            if($res){
               $succNum++;
            }
        }
        $cou = count($data1);
        $dis = $cou - $succNum;
        echo "共".$cou."条,成功".$succNum."条,失败".$dis;

    }
    public function getDifficultyText($type){
        switch ($type){
            case ‘A‘:{
                $text = 1000;
                break;
            }
            case ‘B‘:{
                $text = 2000;
                break;
            }
            case ‘C‘:{
                $text = 3000;
                break;
            }
            case ‘D‘:{
                $text = 4000;
                break;
            }
            default:{
                $text = 1000;
            }
        }
        return $text;
    }
    public function getAnswerText($type){
        switch ($type){
            case ‘A‘:{
                $text = 0;
                break;
            }
            case ‘B‘:{
                $text = 1;
                break;
            }
            case ‘C‘:{
                $text = 2;
                break;
            }
            case ‘D‘:{
                $text = 3;
                break;
            }
            default:{
                $text = 0;
            }
        }
        return $text;
    }

  

原文地址:https://www.cnblogs.com/dereckbu/p/8447511.html

时间: 2024-10-08 11:19:09

PHP Excel导入 阿星小栈的相关文章

PHP 导出Excel三种方式 阿星小栈

1. 表格方式 public function getVideoExcelExport(){ $dataResult = Video::select('id','title','price_way', 'playnum','content','video_type')->get()->toArray(); foreach ($dataResult as $k=>$v){ //0免费 1VIP 2付费 $dataResult[$k]['price_way_text'] = ($v['pri

百度地图 sn 计算方法 阿星小栈

<?php //API控制台申请得到的ak(此处ak值仅供验证参考使用) $ak = 'yourak'; //应用类型为for server, 请求校验方式为sn校验方式时,系统会自动生成sk,可以在应用配置-设置中选择Security Key显示进行查看(此处sk值仅供验证参考使用) $sk = 'yoursk'; //以Geocoding服务为例,地理编码的请求url,参数待填 $url = "http://api.map.baidu.com/geocoder/v2/?address=

php获取中文字符拼音首字母 阿星小栈

//php获取中文字符拼音首字母 public function getFirstWord($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0}); $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s1); $s=$s

iview 表单验证及验证重置 阿星小栈

this.$refs[name].validate((valid) => { if (valid) { this.$Message.success('Success!'); } else { this.$Message.error('Fail!'); } }) //重置 this.$refs[name].resetFields(); 原文地址:https://www.cnblogs.com/dereckbu/p/8777997.html

微信支付:curl出错,错误码:60 阿星小栈

最近一个微信项目用到微信支付系统,在微信官方下载了一个官方的demo.运行后竟然报错. Fatal error: Uncaught exception 'WxPayException' with message 'curl出错,错误码:60' in D:\wwwroot\weixinpaytest\lib\WxPay.Api.php:564 Stack trace: #0 D:\wwwroot\weixinpaytest\lib\WxPay.Api.php(62): WxPayApi::post

iview 在Table组件render 中使用Poptip组件 阿星小栈

render: (h, params) => { return h('div', [ h('Button', { props: {type: 'error', size: 'small'}, },[ h('Poptip', { props: { confirm: true, transfer: true, placement: 'left-end', title: '确定要删除吗!', type: 'error', size: 'small', width: '300', }, on: { 'o

PHP获取文件后缀名(提供7种方法) 阿星小栈

1.$file = 'x.y.z.png';echo substr(strrchr($file, '.'), 1);解析:strrchr($file, '.')    strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符2.$file = 'x.y.z.png';echo substr($file, strrpos($file, '.')+1);解析:strrpos($file, '.')   查找 "." 在字符串中最后一次出现的

Redis中Set集合命令 阿星小栈

集合(Set)? 附录,常用集合运算: A = {'a', 'b', 'c'} B = {'a', 'e', 'i', 'o', 'u'} inter(x, y): 交集,在集合x和集合y中都存在的元素. inter(A, B) = {'a'} union(x, y): 并集,在集合x中或集合y中的元素,如果一个元素在x和y中都出现,那只记录一次即可. union(A,B) = {'a', 'b', 'c', 'e', 'i', 'o', 'u'} diff(x, y): 差集,在集合x中而不在

在Vue项目中动态生成二维码 阿星小栈

一.使用jquery.qrcode生成二维码 1.首先在页面中加入jquery库文件和qrcode插件 <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.qrcode.min.js"></script> 2.在页面中需要显示二维码的