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;
    }

 

转载于:https://www.cnblogs.com/myphper/p/5587400.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值