【问题标题】:jQuery Tablesorter - output-widget make output like tablejQuery Tablesorter - 输出小部件使输出像表格一样
【发布时间】:2016-11-23 11:56:44
【问题描述】:

我正在使用这个 jQuery 表格排序器:

http://tablesorter.com/docs/

https://mottie.github.io/tablesorter/docs/example-widget-output.html

$(function () {

    var $table = $('table');
    
    $('.download').click(function(){
        $table.trigger('outputTable');
    });

    $table.tablesorter({
        theme: 'blue',
        widgets: ['zebra', 'output'],
        widgetOptions : { output_delivery : 'd'}
    });
});

这是一个简单的DEMO

问题是,当您单击 Get CSV 时,保存在此文件中的数据全部在一行中。不可读。

如何使它看起来像一个有列的表格,就像它已经在 HTML 视图中一样......它不一定是 csv......是否有其他插件可以导出更具可读性的输出?

更新:

输出如下所示:

我想要的是这个:

【问题讨论】:

  • 可能是 pdf 或 excel 表格输出??
  • 如果您将在 excel 中打开此文件,它将只是格式正确
  • 我在 excel 中打开它,它看起来像这样:查看我的问题更新
  • CSV 格式没有问题。可能您必须使用 Excel 中的文本导入向导并告诉它使用逗号作为分隔符。这与 tablesorter 无关
  • 是的,我知道 CSV 输出没有任何问题......但我想要的是:看到我的问题已更新。

标签: javascript jquery


【解决方案1】:

我将分隔符更改为;

修改后的 JS:

$(function() {
  var $table = $('table');

  $('.download').click(function() {
    $table.trigger('outputTable');
  });

  $table.tablesorter({
    theme: 'blue',
    widgets: ['zebra', 'output'],
    widgetOptions: {
      output_delivery: 'd',
      output_separator: ';'
    }
  });
});

检查这个:http://jsfiddle.net/abkNM/8764/

更新

在您发表评论后,我又做了一项修改,将数字列上的 . 替换为 ,

JS:

$(function() {
  var $table = $('table');

  $('.download').click(function() {
    $table.trigger('outputTable');
  });

  $table.tablesorter({
    theme: 'blue',
    widgets: ['zebra', 'output'],
    widgetOptions: {
      output_delivery: 'd',
      output_separator: ';',
      output_formatContent: function(c, wo, data) {
        if (c.parsers[data.$cell['0'].cellIndex].type !== 'numeric')
          return data.content;
        return data.content.replace(/\./ig, ',');
      }
    }
  });
});

新的 jsFiddle:http://jsfiddle.net/abkNM/8781/

【讨论】:

  • 我现在有一个小问题......因为我在德国,所以我们用点“。”分隔十进制数字。当我在 .csv 中导出数据时,只要我有十进制数字,它就会被转换为日期。如何解决这个问题??
  • 是的……等一下!
  • 给你....查看 .csv 文件中的数字列jsfiddle.net/abkNM/8780 如何防止这些字段成为日期....如果我可以替换 .点和逗号
  • 我会在 SO 上为此提出一个新问题
猜你喜欢
  • 1970-01-01
  • 2016-04-14
  • 2018-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-25
  • 1970-01-01
相关资源
最近更新 更多