zoukankan      html  css  js  c++  java
  • PHP读取Excel数据写入数据库(包含图片和文字)

    public function test(){
            $exts = 'xlsx';
            //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入
            import("Org.Util.PHPExcel");//导入Excel类  我这里是ThinkPHP框架写法  根据自己的框架修改
    
            $fileName = "tel.xls";//excel文件路径
    
            $objReader = PHPExcel_IOFactory::createReader('Excel5');
            $objPHPExcel = $objReader->load($fileName,$encode='utf-8');
            $drawing = new PHPExcel_Writer_Excel2007_Drawing();
    
            $drawingHashTable = new PHPExcel_HashTable();
            $drawingHashTable->addFromSource($drawing->allDrawings($objPHPExcel));
            for ($i = 0; $i < $drawingHashTable->count(); ++$i)
            {
                $memoryDrawing = $drawingHashTable->getByIndex($i);
                if ($memoryDrawing instanceof PHPExcel_Worksheet_MemoryDrawing)
                {
                    $filename = './Public/' . $memoryDrawing->getCoordinates() . '_' . $memoryDrawing->getHashCode() . '.jpg';
                    // 将图片存到指定的目录
                    imagejpeg($memoryDrawing->getImageResource(), $filename);
                    // 获得该图片所在的单元格
                    $cell = $memoryDrawing->getWorksheet()->getCell($memoryDrawing->getCoordinates());
                    // 将该单元格的值设置为单元格的文本加上图片的 img 标签
                    $cell->setValue($cell->getValue() . $filename);
                }
            }
            $sheet = $objPHPExcel->getSheet(0);
            $highestRow = $sheet->getHighestRow(); // 取得总行数
            $highestColumn = $sheet->getHighestColumn(); // 取得总列数
            for($i=2;$i<=$highestRow;$i++)
            {
                $data[$i]['truename'] = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();
                $data[$i]['account']= $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
                $data[$i]['image'][] = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
                $data[$i]['image'][] = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();
                $data[$i]['image'][] = $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();
            }
            print_r($data);die;
        }
  • 相关阅读:
    洛谷 P5110 块速递推
    洛谷 P3868 [TJOI2009]猜数字
    Codeforces 343D Water Tree
    Codeforces 915E Physical Education Lessons
    洛谷 P2787 语文1(chin1)- 理理思维
    洛谷 P4344 [SHOI2015]脑洞治疗仪
    洛谷 P3338 [ZJOI2014]力
    【模板】珂朵莉树(ODT)(Codeforces 896C Willem, Chtholly and Seniorious)
    【模板】FFT
    Solution of CF911G Mass Change Queries
  • 原文地址:https://www.cnblogs.com/myphper/p/5587400.html
Copyright © 2011-2022 走看看