欢迎光临
感谢一路有你

php 导入表格去除样式,代码仅供参考

如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
 

<code class="language-php">use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;
</code>


<code> public function import_demo(){
        // 设置PHP默认字符集为UTF-8
        ini_set('default_charset', 'UTF-8');
        //获取表格的大小,限制上传表格的大小5M
        $file_size = $_FILES['file']['size'];
        if ($file_size &gt; 5 * 1024 * 1024) {
            $this-&gt;error('文件大小不能超过5M');
            exit();
        }
        // dd($file_size);
        //限制上传表格类型
        $fileExtendName = substr(strrchr($_FILES['file'][&quot;name&quot;], '.'), 1);
        //application/vnd.ms-excel  为xls文件类型
        if ($fileExtendName == 'csv') {
            $this-&gt;error('须为xls或xlsx格式,不能是csv格式!');
            exit();
        }
        if (is_uploaded_file($_FILES['file']['tmp_name'])) {
            if ($fileExtendName =='xlsx') {
                $objReader = IOFactory::createReader('Xlsx');
                $filename = $_FILES['file']['tmp_name'];
            }elseif ($fileExtendName =='xls') {
                $objReader = IOFactory::createReader('Xls');
                $filename = $_FILES['file']['tmp_name'];
            }elseif ($fileExtendName=='csv') {
                $objReader = IOFactory::createReader('Csv');
                $filename = $_FILES['file']['tmp_name'];
            }
            // dd(1);

            $reader = IOFactory::createReaderForFile($filename);
            $reader-&gt;setReadDataOnly(true); // 只读取数据,忽略样式
            $spreadsheet = $reader-&gt;load($filename);
            $sheet = $spreadsheet-&gt;getActiveSheet();
            $data = $sheet-&gt;toArray(null, true, true, true);

            // dd($data);
            $num_all= 0;
            $num_success= 0;
            $save_data = [];
            $num_add = 0;
            $num_update = 0;
            foreach($data as $k=&gt;$vo){
                if($k&gt;1){
                    $num_all++;
                    $save_data[$k] = [
                        'cid' =&gt; $vo['A'],
                        'title' =&gt; mb_convert_encoding(isset_arr_key($vo, 'B', ''), 'UTF-8', 'auto'),
                        'dy' =&gt; isset_arr_key($vo, 'C', ''),
                        'xh' =&gt; isset_arr_key($vo, 'D', ''),
                        'summary' =&gt; isset_arr_key($vo, 'E', ''),
                        'pic' =&gt; isset_arr_key($vo, 'F', ''),
                        'album' =&gt; isset_arr_key($vo, 'G', ''),
                        'brand' =&gt; isset_arr_key($vo, 'H', ''),
                        'manufacture' =&gt; isset_arr_key($vo, 'I', ''),
                        'append_spe' =&gt; isset_arr_key($vo, 'J', ''),
                        'append_oe' =&gt; isset_arr_key($vo, 'K', ''),
                        'append_ref' =&gt; isset_arr_key($vo, 'L', ''),
                        'append_ada' =&gt; isset_arr_key($vo, 'M', ''),
                        'append_com' =&gt; isset_arr_key($vo, 'N', ''),
                        'append_mou' =&gt; isset_arr_key($vo, 'O', ''),
                        'append' =&gt; isset_arr_key($vo, 'P', ''),
                        'ctime' =&gt; time()
                    ];
                    // dd($save_data);
                    //移除首字母C-
                    $save_data[$k]['cid'] =  str_replace('C-','',$save_data[$k]['cid']);
                    //判断是否存在
                    $is_exist = db('post')-&gt;where([['title','=',$save_data[$k]['title']],['status','&lt;&gt;',9]])-&gt;find();
                    if($is_exist){
                        $is_update = db('post')-&gt;where(['id'=&gt;$is_exist['id']])-&gt;update($save_data[$k]);
                        if($is_update){
                            $num_update++;
                        }
                    }else{
                        $is_add = db('post')-&gt;insert($save_data[$k]);
                        if($is_add){
                            $num_add++;
                        }
                    }
                }
            }
            return jssuccess('导入成功,新增数量:'.$num_add.',修改数量:'.$num_update);



        }

        die;
    }

</code>

赞(0) 打赏
未经允许不得转载:王明昌博客 » php 导入表格去除样式,代码仅供参考
分享到: 更多 (0)

相关推荐

  • 暂无文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮