zoukankan      html  css  js  c++  java
  • 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;
        }
    

      

  • 相关阅读:
    UVA 10572 Black & White (状压DP)
    ZOJ 3466 The Hive II (插头DP,变形)
    POJ 3133 Manhattan Wiring (插头DP,轮廓线,经典)
    HDU 3377 Plan (插头DP,变形)
    HDU 1964 Pipes (插头DP,变形)
    FZU 1977 Pandora adventure (插头DP,常规)
    URAL 1519 Formula 1 (插头DP,常规)
    POJ 1739 Tony's Tour (插头DP,轮廓线DP)
    HDU 1693 Eat the Trees (插头DP)
    hihoCoder #1162 : 骨牌覆盖问题·三 (矩阵快速幂,DP)
  • 原文地址:https://www.cnblogs.com/dereckbu/p/8447511.html
Copyright © 2011-2022 走看看