文档章节

php 导入EXCEL 包括图片

陈映亮
 陈映亮
发布于 2015/12/16 10:33
字数 304
阅读 303
收藏 3

        === ====工作随笔 ,方便以后使用 =====

        在网上百度了很多。一直没有找到很好的教程 ,在此记录下。

     

   //获得图片
    $tmp = $_FILES['sponser']['tmp_name']; 
    require_once COMMON_LIB_PATH.'Phpexcel/PHPExcel.php';
    $objPHPExcel = new PHPExcel();
    $objReader = PHPExcel_IOFactory::createReader('Excel5');  //加载2003的
    $objPHPExcel = $objReader->load($tmp);  //载入文件
    foreach ($objPHPExcel->getSheet(0)->getDrawingCollection() as $k => $drawing) {
        $codata = $drawing->getCoordinates(); //得到单元数据 比如G2单元
        $filename = $drawing->getIndexedFilename();  //文件名
        // show($filename);
        // echo "<img src ='".$filename."'/>";
        // show($codata);
        ob_start();
        call_user_func(
            $drawing->getRenderingFunction(),
            $drawing->getImageResource()
        );
        $imageContents = ob_get_contents();
        // show($imageContents);
        // die;
        file_put_contents('./Upload/excel/'.$codata.'_'.$filename.'.jpg',$imageContents); //把文件保存到本地
        ob_end_clean();
        
        //获得文字
          function excel($tmp,$l){
        require_once(APP_PATH.'common/Lib/plus/excel/reader.php');
        //创建对象
        $data = new Spreadsheet_Excel_Reader();
        //设置文本输出编码
        $data->setOutputEncoding('UTF-8');
        //读取Excel文件
        $data->read($tmp);
        error_reporting(E_ALL ^ E_NOTICE);
        $dbs =array();
        for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
            $str = "";
                //$tablestr .= "<tr>";
                //$tablestr .="<td><input type='checkbox' value = '{$i}' id = {$i}></td>";
                //$tablestr .="<td><span>第{$i}行</span></td>";
                for ($j = 1; $j <= $l; $j++) {
                       
                        if($data->sheets[0]['cells'][$i][$j]==""){
                            //为空时,证明无数据,所以填写数据时要注意
                            $str = null;
                            continue;
        
                            // echo $nuk="null";   
                        }
                        $str.=  $data->sheets[0]['cells'][$i][$j].",";
                        //带表格,方便后面显示数据
                        
                       // $tablestr .="<td>".$data->sheets[0]['cells'][$i][$j]."</td>";
                }
                $tablestr .="</tr>";
            if(!$str){break;}
            $dbs[]= $str;
            //$dbs['show'] ="<table width='100%'>" . $tablestr . "</table>";
            //带表格,方便后面显示数据
        }
            return $dbs;
        }


© 著作权归作者所有

共有 人打赏支持
陈映亮
粉丝 10
博文 130
码字总数 38454
作品 0
深圳
程序员
私信 提问
在前端生成excel功能对比和选择

目标: 提供一组数据(包括图片),要能在前端或者用node生成一个excel表格。 解决方案: A:js-xlsx 下载量最多,更新最频繁,但是不支持图片导入。 介绍:https://www.npmjs.com/package/xls...

向布谷鸟说早安
10/09
0
0
thinkphp3.2和phpexcel导出带生成图片完美案例

thinkphp3.2和phpexcel导出带生成图片完美案例 新手一枚,接触tp也有一个月了,最近公司要求报表导出要有图片生成,特意花时间研究了下,看事例代码 注意事项: 1.phpexcel下载地址:http://p...

IT阿飞
2017/08/25
0
0
完全独立的功能强大创建和管理Excel控件Aspose.Cells​

Aspose.Cells控件包含有一个类库,支持所有Excel格式类型的操作。它是一个非图形表格管理库,可适用于任何类型的应用程序(ASP.NET Web应用程序或Windows桌面应用程序)。此外,组件也可以用...

yidongkaifa
2014/06/21
0
0
可视化电子表格控件Aspose.Cell详细介绍及下载地址

Aspose.Cells包含有一个类库,支持所有Excel格式类型的操作。它是一个非图形表格管理库,可适用于任何类型的应用程序(ASP.NET Web应用程序或Windows桌面应用程序)。此外,组件也可以用于如...

yidongkaifa
2014/08/08
0
0
表格控件 Spread Studio 发布 V10 版本

Spread Studio 表格控件是一个功能和 Excel 类似的表格控件。用于在应用系统中实现表格数据录入和编辑等交互功能,并且提供灵活的定制能力和丰富的数据可视化效果。 近日 Spread Studio V10 ...

葡萄城技术团队
2016/12/02
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

GO redis 相关操作

在gopath 目录下安装 go get github.com/garyburd/redigo/redis package mainimport ("fmt""github.com/garyburd/redigo/redis")//定义一个全局链接池变量var pool *redis.Pool//......

汤汤圆圆
32分钟前
6
0
java8性特性,常用的lambda表达式

1、抽取多个对象中的某个属性,用数组接收 List<Student> students = new ArrayList<>(); List<String> names =students.stream().map(Student::getName).collect(Collectors.toList()); 2、......

Boss-x
33分钟前
7
0
flutter 子组件与父组件

无论是子组件还是父组件,任何时候initState()只执行一次,如果需要判断 就在build里面进行,不然无效的。

大灰狼wow
35分钟前
4
0
Rancher Labs引入全球首个多集群、多租户的Prometheus支持!

近日,Rancher Labs宣布加强对Prometheus的支持,提高Kubernetes集群的可见度。Rancher也因此成为唯一一个在多集群、多租户环境中支持Prometheus的解决方案。 Prometheus正迅速成为监控云原生...

RancherLabs
37分钟前
3
0
vue项目中api接口管理总结

默认vue项目中已经使用vue-cli生成,安装axios,基于element-ui开发,axiosconfig目录和api目录是同级,主要记录配置的相关。 1. 在axiosconfig目录下的axiosConfig.js import Vue from 'vue...

peakedness丶
39分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部