:EcStore批量生成评论和购买记录插件,自动采集淘宝天猫评论APP,兼容所有ecs版本!!   智加设计技术支持技术支持:
   
当前位置: ECSTORE学习 > 新版ecstore数据csv文件导出流程和二次开发方法
推荐() 收藏()

新版ecstore数据csv文件导出流程和二次开发方法

【 作者:admin     来源: 智加设计    点击数: 3700     更新时间: 2015-05-14
  摘要:  新版ecstore数据csv,xls文件导出流程和二次开发方法

新版ecstore数据csv,xls文件导出流程和二次开发方法

第一步:配置好FTP服务器参数

第二步:用报表中的销售收入统计为例导出销售收入

第三步:在系统菜单中导出队列里下载导出的文件

以上为系统导出和下载的流程,下面来介绍下如何单独使用导出文件和直接下载文件;

下面以一个客户二次开发票款统计为例直接下载文件,实现功能如下图

PHP端开发代码

                    //连接导出文件上传的服务器
                    $policyObj = kernel::single('importexport_policy');
                    $ret = $policyObj->connect();
        if ( $ret !== true ){
            echo '服务器连接失败';exit;
        }                    
                    //实例化导出文件类型类
                    $filetypeObj = kernel::single('importexport_type_csv');        
$params['filetype'] = 'csv';
$params['model'] = 'b2c';                    
$params['key'] = 'salecount'.date("YmdHis",time());                    
                        $remote_file_name = $policyObj->create_remote_file($params);
                        if( !$policyObj->create_local_file() ){
                            $msg = app::get('importexport')->_('本地文件创建失败,请检查/tmp文件夹权限');
                            echo $msg;
                            exit;
                        }

                        //加入文件头部数据
                        $fileHeader = $filetypeObj->fileHeader();
                        if( $fileHeader )
                        {
                            $policyObj->write_local_file($fileHeader);
                            $policyObj->push();
                        }
                            
                        $rs = $filetypeObj->arrToExportType($newDataGroup);
                            if( !$policyObj->write_local_file($rs) ){
                                $msg = app::get('importexport')->_('本地写入文件失败,请检查/tmp文件夹权限');
                                echo $msg;
                                exit;
                            }
                            //本地文件上传到远程
                            if( !$policyObj->push() ){
                                $msg = app::get('importexport')->_('文件上传失败');
                                echo $msg;
                                exit;
                            }                        
                        //加入文件尾部数据
                        $fileFoot = $filetypeObj->fileFoot();    
                            if( $fileFoot )
                            {
                                $policyObj->write_local_file($fileFoot);
                                $policyObj->push();
                            }

                            $is_forma=true;//文件大小格式化 B kB MB
                            $file_size = $policyObj->size_local_file($is_forma);

                                    $policyObj->close_local_file();


            $filename = $policyObj->create_remote_file($params);
            if( !$policyObj->create_local_file() ){
                $msg = app::get('importexport')->_('本地文件创建失败,请检查/tmp文件夹权限');
                return false;
            }

            $filetypeObj = kernel::single('importexport_type_'.$params['filetype']);

            $size = $policyObj->remote_file_size($filename);
            if( $size === 0 )
            {
                $msg = app::get('importexport')->_('需要下载的文件为空,不需要下载');
                return false;
            }
            if( $size < 0 )
            {
                $msg = app::get('importexport')->_('需要下载的文件在ftp端不存在,请检查ftp服务器和原始数据');
                return false;
            }

            $range = $filetypeObj->set_queue_header($filename,$size);
            if( !$policyObj->pull(array('resume'=>$range),$msg) ){
               return false;
            }

            //实例化导出文件类型类
            $file = fopen($policyObj->local_file,"rb");
            if( method_exists($filetypeObj, 'setBom') ){
                $bom = $filetypeObj->setBom();
                echo $bom;
            }
            while(!feof($file)){
                set_time_limit(0);
                print_r(fread($file,1024*8));
                ob_flush();
                flush();
            }
            $policyObj->close_local_file();
            exit;


如有任何疑问都可以直接联系QQ:2392521892来解答。

评论加载中............
运行信息( 0.0283 秒):关闭X