????txt?csv??

2020-07-28 14:47:54by Webmaster

如何输出txt和csv文件

报表导出的特性

项目中遇到大数据量输出excel时性能较慢,耗用大量内存,可以考虑采用直接输出txt和csv格式的方式快速导出数据。

1. 导出txt,可在button中加入type='txt'属性即可。

2. 导出csv可参考附件,按附件中readme内容修改系统的auroa-plugin.jar文件。导出方式和输出excel一样,在点击“导出”后弹出选择字段窗口,下面的格式选择csv格式就行。

3. 修改grid-min.js文件,resources\aurora.ui.std\default\grid\Grid-min.js文件中的excel2003替换成csv,且在if判断xls和xlsx后面加上type=='csv'的判断

 _export : function(type,filename,separator){
  var type1;
        if(type =='xls'){
   type1='csv';
  }else{
   type1=type;
  }
        this.exportOptions = {
            type:type1||'csv',
            filename:filename,
            separator:separator
        }
        this.showExportConfirm();
    }

部分内容可参考如下:

if(type == 'xls' || type== 'xlsx' ){
            	height+=30;
            	msg.push('<div class="item-radio" class="item-radio" style="margin:15px;width:270px;height:30px">',
            				'<div class="item-radio-option" style="width:128px;float:left" itemvalue="csv">',
            					'<div class="item-radio-img  item-radio-img-',type=='csv'?'c':'u','"></div>',
            					'<label class="item-radio-lb">csv</label>',
            				'</div>',
            				'<div class="item-radio-option" style="width:128px;float:left" itemvalue="xlsx">',
            					'<div class="item-radio-img  item-radio-img-',type=='xlsx'?'c':'u','"></div>',
            					'<label class="item-radio-lb">excel2007</label>',
            				'</div>',
        				'</div>')
            }
            if(type == 'csv' ){
            	height+=30;
            	msg.push('<div class="item-radio" class="item-radio" style="margin:15px;width:270px;height:30px">',
            				 
            				'<div class="item-radio-option" style="width:128px;float:left" itemvalue="xlsx">',
            					'<div class="item-radio-img  item-radio-img-',type=='csv'?'c':'u','"></div>',
            					'<label class="item-radio-lb">csv</label>',
            				'</div>',
        				'</div>')
            }

4. 有时导出csv是为了避免大数据量导出excel出现内存溢出,所以在导出时可以考虑在弹出页面中去掉excel2007的选项, 或者通过普通按钮调用js实现

            如:function sys1234_grid_csvoutput(){
                $('sys1234_result_ds_grid')._export('csv','','');
            }

Demo

    Comments

    0 Responses to the article

    暂时没有评论。

    发表评论