Excel导入文件缓存进入数据库

控制器页面

    public function upfile(){

        if(isset($_FILES['image'])){

            $image = $_FILES['image'];

            $filename = time().substr($image['name'],strripos($image['name'],'.'));
            //var_dump($image);

            $path = './upload/'.$filename;
            //move_uploaded_file 移动上传过文件 第一个参数 临时文件的名字 ,要新生成的文件的路径和名字
            move_uploaded_file($image['tmp_name'],$path);
            //要把excel 转化成数组
            $e = $this->readExcel($path);
            var_dump($e);

//            $this->redirect('index?filename='.$filename);
        }

//        $this->redirect('index');

    }

    function readExcel($path){
        //引入PHPExcel类库
        include(IWEB_PATH.'core/util/PHPExcel.php');
        include(IWEB_PATH.'core/util/PHPExcel/IOFactory.php');

        $type = 'Excel5';//设置为Excel5代表支持2003或以下版本,Excel2007代表2007版
        $xlsReader = PHPExcel_IOFactory::createReader($type);
        $xlsReader->setReadDataOnly(true);
        $xlsReader->setLoadSheetsOnly(true);
        $Sheets = $xlsReader->load($path);

        //开始读取上传到服务器中的Excel文件,返回一个二维数组
        $dataArray = $Sheets->getSheet(0)->toArray();
//        var_dump($dataArray);die;
        return $dataArray;
    }

    public function getimage($filename){

    }

    public function test_report(){
        include(IWEB_PATH.'core/util/PHPExcel.php');
        include(IWEB_PATH.'core/util/PHPExcel/IOFactory.php');

        $objPHPExcel = new PHPExcel();

        /*以下是一些设置 ,什么作者  标题啊之类的*/
        $objPHPExcel->getProperties()->setCreator("转弯的阳光")
            ->setLastModifiedBy("转弯的阳光")
            ->setTitle("数据EXCEL导出")
            ->setSubject("数据EXCEL导出")
            ->setDescription("备份数据")
            ->setKeywords("excel")
            ->setCategory("result file");
        //测试数据
        $data =array(
            array('uid' => 1,'email' => '123@123.com','password'=>'123456'),
            array('uid' => 2,'email' => '456@123.com','password'=>'123456'),
            array('uid' => 3,'email' => '789@123.com','password'=>'123456')
        );
        /*以下就是对处理Excel里的数据, 横着取数据,主要是这一步,其他基本都不要改*/
        foreach($data as $k => $v){

            $num=$k+1;
            $objPHPExcel->setActiveSheetIndex(0)

                //Excel的第A列,uid是你查出数组的键值,下面以此类推
                ->setCellValue('A'.$num, $v['uid']) //A1 A2
                ->setCellValue('B'.$num, $v['email'])
                ->setCellValue('D'.$num, $v['password']);
        }

        $objPHPExcel->getActiveSheet()->setTitle('User');
        $objPHPExcel->setActiveSheetIndex(0);
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="'.time().'.xls"');
        header('Cache-Control: max-age=0');
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');
        exit;
    }



    function _readExcel($path){
        //引入PHPExcel类库
        include(IWEB_PATH.'core/util/PHPExcel.php');
        include(IWEB_PATH.'core/util/PHPExcel/IOFactory.php');
        include(IWEB_PATH.'core/util/PHPExcel/Reader/Excel5.php');


        $type = 'Excel5';//设置为Excel5代表支持2003或以下版本,Excel2007代表2007版
        $xlsReader = PHPExcel_IOFactory::createReader($type);
        $xlsReader->setReadDataOnly(true);
        $xlsReader->setLoadSheetsOnly(true);
        $Sheets = $xlsReader->load($path);
        //开始读取上传到服务器中的Excel文件,返回一个二维数组
        $dataArray = $Sheets->getSheet(0)->toArray();
        return $dataArray;
    }

    public function testExcel(){
        include(IWEB_PATH.'core/util/PHPExcel.php');
        include(IWEB_PATH.'core/util/PHPExcel/IOFactory.php');

        $excelObj = new PHPExcel();
        var_dump($excelObj);
        //echo 1;
    }
}
htm模板页面

{set:

$filename = $_GET['filename'];
}

<!--{if:$filename}-->
<!--<script type="text/javascript" src="http://www.image.com/getimage.php?filename={$filename}"></script>-->
<!--{/if}-->
<form action="{url:/test/upfile}"  method="post" enctype="multipart/form-data">
<table>

<tr>
    <th>同步上传测试:</th>
    <td>
        <input  name='image' type="file"  />

        <label>大小不得超过{echo:IUpload::getMaxSize()}</label>
    </td>
</tr>

    <tr><td>

        <input   type="submit" value="提交" />
    </td>

    </tr>


</table>
</form>
引入文件需个人自己寻找【PHPExcel官网】请支持正版

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luyaran

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值