csv 导入导出——php

直接上代码:php

导入:服务器

public function do_finance()
    {
        //判断上传文件存在值
        if(!empty($_FILES)){session

            $filename = $_FILES['file']['tmp_name'];//被上传文件的名称
            $filetype = $_FILES["file"]["type"];//被上传文件的类型
            $filesize = $_FILES["file"]["size"];// 被上传文件的大小,以字节计
            $filetmp = $_FILES["file"]["tmp_name"];//存储在服务器的文件的临时副本的名称
            $fileerror = $_FILES["file"]["error"];//由文件上传致使的错误代码app

            //判断是否上传成功
            if($fileerror==0){
                //判断是不是excel表格
                if($filetype=="application/vnd.ms-excel"){post

                    $a=0;
                    //以读取的方式打开表格
                    $handle = fopen($filename, 'r');this

                    //header("Content-type: applicationnd.ms-excel; charset=utf-8");
                    while (($arr = fgetcsv($handle, 10000, ",")) !== FALSE) {   
                        $a++;url

                        if($a==1){continue;}spa

                            $data=array(
                                'add_date_time'=>iconv('gbk', 'utf-8',$arr['0']),
                                'summary'=>iconv('gbk', 'utf-8',$arr['1']),
                                'income'=>iconv('gbk', 'utf-8',$arr['2']),
                                'expense'=>iconv('gbk', 'utf-8',$arr['3']),
                                'remark'=>iconv('gbk', 'utf-8',$arr['4']),
                                
                                'admin_id' => $this->session->userdata('admin_id'),
                                'admin_add_date' =>date("Y-m-d"),
                            );excel

                        $this->db->insert("finance",$data);
                       }
                       //导入成功结束提示
                       show_msg("导入成功",site_url("manage/finance/"));
                    
                }else{utf-8

                    show_msg("上传文件非cvs格式,请从新上传");
                }


            }else{

                switch ($fileerror){
                    case 1:
                        show_msg("上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值.");
                        break;
                    case 2:
                        show_msg("上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值");
                        break;
                    case 3:
                        show_msg("文件只有部分被上传");
                        break;
                    case 4:
                        show_msg("没有文件被上传");
                        break;
                }


            }

        }

    }

 

导出:

 

public function get_pro(){

            if(!empty($_POST)){

                $day_time=$this->input->post('day_time');
            }
            header("Content-type: applicationnd.ms-excel; charset=utf-8");
            header("Content-Disposition: attachment; filename=$day_time.csv");


             $field='pro_cai,pro_figure,pro_width,pro_height,pro_diameter,pro_ls,pro_num,is_hot,is_sales,pro_brand,trade_price,promote_price,memo,brandid';


             $data['title']=array(
                'CAI',
                '花纹',
                '横截面宽度',
                '高度比',
                '轮胎直径',
                '载重/速度',
                '数量',
                '热销',
               '促销',
                '品牌',
                '批发价',
                '促销价',
                '备注',
                '品牌ID',
               );
              echo implode(',',$data['title'])."\n";

             $data['list']=$this->excel_model->get_pro($field,$day_time);
                 foreach($data['list'] as $item){

                       echo implode(',',$item)."\n";

                };


    }

 

注意:打开文件若是是excel2003/2007打开,确定是乱码,用wps打开转格式就不会乱码了!

相关文章
相关标签/搜索