zoukankan      html  css  js  c++  java
  • 前台导出csv

    function(fileName,spliter,record){

    var me = this.__portal.componentItemMap.tablepanel;
    spliter = spliter || ',';
    var headers = [];
    headers.push('上报时间,设备串号,开始时间,结束时间,节目播放地址,失败类型');
    for (var j = 0; j < me.tableColumns.length; j ++) {
    var columnItem = me.tableColumns[j];
    if (columnItem._columnType != 'checkbox' && columnItem._columnType != 'flex' && !columnItem.hidden) {
    headers.push(columnItem.title);
    }
    }

    var str = [],recordText = [],type = '';
    switch (record.failPlayInfoList.type) {
    case 1:
    type = '视频播放出第一帧,但超过成功约束时间';
    break;
    case 2:
    type = '视频播放未出第一帧,但超过成功约束时间';
    break;
    case 3:
    type = '视频播放未出第一帧,其未超过成功约束时间,m3u8或者ts http请求';
    break;
    }
    recordText = [
    $nps$.utils.dateTimeRenderer(record.reportTime,'Y-m-d H:i:s'),
    record.deviceId,
    $nps$.utils.dateTimeRenderer(record.failPlayInfoList.startTime,'Y-m-d H:i:s'),
    $nps$.utils.dateTimeRenderer(record.failPlayInfoList.endTime,'Y-m-d H:i:s'),
    record.failPlayInfoList.programUrl,
    type,
    ];
    str.push(headers.join(spliter)+" ");
    for (var i = 0; i < me.sourceResults.length; i ++) {
    var dataItem = me.sourceResults[i];
    var temp = [];
    for (var j = 0; j < me.tableColumns.length; j ++) {
    var columnItem = me.tableColumns[j];
    if (columnItem._columnType != 'checkbox' && columnItem._columnType != 'flex' && !columnItem.hidden) {
    if (columnItem._columnType == 'rowNumber') {
    value = i+1;
    } else {
    if (columnItem.type == 'html') {
    value = dataItem[columnItem.dataIndex];
    } else {
    value = me._renderCell(columnItem, dataItem, i, j);
    }
    }
    if (value === null || value === undefined) {
    value = '';
    } else {
    value = (value+'').replace(/"/g, '""').replace(/&nbsp;/g, '');
    }
    temp.push(recordText.join(','));
    temp.push(value.indexOf(',') >= 0 ? ('"'+value+'"') : value);
    }
    }
    str.push(temp.join(spliter)+" ");
    }

    //  上面是 拼接 字段  下面 是重要内容

    var uri = 'data:text/csv;charset=utf-8,%EF%BB%BF' + encodeURIComponent(str.join(""));
    var downloadLink = document.createElement("a");
    downloadLink.href = uri;
    downloadLink.download = (fileName || me.header.title)+".csv";
    document.body.appendChild(downloadLink);
    downloadLink.click();
    document.body.removeChild(downloadLink);
    }

  • 相关阅读:
    linux下通过vim编辑文件的方法
    无法访问VMWARE虚拟机中linux的nginx地址
    IDEA中通过Maven插件使用MyBatis Generator
    解决 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 以及MyBatis批量加载xml映射文件的方式
    MySQL 解决source 命令导入数据库 乱码
    MySQL SELECT表达式的执行顺序是从左往右依次执行
    MySQL 子查询(四)子查询的优化、将子查询重写为连接
    MySQL 子查询(三) 派生表、子查询错误
    MySQL 子查询(二)
    RocketMQ使用
  • 原文地址:https://www.cnblogs.com/stevenzhangcy/p/12582035.html
Copyright © 2011-2022 走看看