【问题标题】:CSV Export of visible rowsCSV 导出可见行
【发布时间】:2013-01-08 07:48:51
【问题描述】:

我有一个表格,用户通过一个下拉列表过滤行,该下拉列表只是隐藏了他们不想看到的行。

我想做的是仅将当前可见的行导出到 CSV。

以前有人做过这样的事情吗?我正在使用 hide()show() 隐藏/显示表格行。

【问题讨论】:

    标签: jquery csv export visible


    【解决方案1】:

    对于正在寻找类似解决方案的其他人,我终于找到了一些东西。在这里。

    jQuery.fn.toCSV = function() {
          var data = $(this).first(); //Only one table
          var csvData = [];
          var tmpArr = [];
          var tmpStr = '';
          data.find("tr:visible").each(function() {
              if($(this).find("th").length) {
                  $(this).find("th").each(function() {
                    tmpStr = $(this).text().replace(/"/g, '""');
                    tmpArr.push('"' + tmpStr + '"');
                  });
                  csvData.push(tmpArr);
              } else {
                  tmpArr = [];
                     $(this).find("td").each(function() {
                        if($(this).text().match(/^-{0,1}\d*\.{0,1}\d+$/)) {
                            tmpArr.push(parseFloat($(this).text()));
                        } else {
                            tmpStr = $(this).text().replace(/"/g, '""');
                            tmpArr.push('"' + tmpStr + '"');
                        }
                    });
                  csvData.push(tmpArr.join(','));
              }
          });
          var output = csvData.join('\n');
          var uri = 'data:application/csv;charset=UTF-8,' + encodeURIComponent(output);
          window.open(uri);
        }
    

    【讨论】:

      【解决方案2】:

      不幸的是,我不相信有一种快速的一次性方法可以做到这一点。 但是你可以做什么:

      Ctrl+; 只选择可见行。

      Ctrl+C复制。

      打开一个新工作表。

      Ctrl+V粘贴。

      然后将新工作表保存为 CSV。

      【讨论】:

        猜你喜欢
        • 2017-02-15
        • 1970-01-01
        • 1970-01-01
        • 2022-11-21
        • 1970-01-01
        • 2013-08-22
        • 1970-01-01
        • 2017-11-20
        • 2023-03-11
        相关资源
        最近更新 更多