【问题标题】:Export to csv in specified format以指定格式导出到 csv
【发布时间】:2017-07-21 23:35:18
【问题描述】:

在尝试了几乎所有关于 SO 的相关问题的答案后, 我还是没听懂。

HTML 文件:

<li><a ng-click="exportToCsv('#total');">
<i class="fa fa-file-o mr-right7"></i>Export to CSV</a></li>

控制器文件:

$scope.exportToCsv=function(tableId){ // ex: '#my-table'
          $scope.exportHref=Csv.tableToExcel(tableId,'List');
            $timeout(function(){location.href=$scope.exportHref;},100);

还有我在控制器文件中的函数。

gModule.factory('Csv',function($window){
        var uri='data:text/comma-separated-values;base64,',
            template='<table>{table}</table>',
            base64=function(s){return $window.btoa(unescape(encodeURIComponent(s)));},
            format=function(s,c){return s.replace(/{(\w+)}/g,function(m,p){return c[p];})};

        return {
            tableToExcel:function(tableId,worksheetName){
                var table=$(tableId),
                    ctx={worksheet:worksheetName,table:table.html()},
                    href=uri+base64(format(template,ctx));
                return href;
            }
        };
});

我需要以 csv 格式导出表格中的数据,但我得到的是整个 html 代码。

我应该只以这种格式进行更改。 请指导。非常感谢您的帮助。

【问题讨论】:

    标签: angularjs export-to-csv


    【解决方案1】:

    当涉及到预先存在的格式时,通常最好不要自己推出。 CSV 文件有很多复杂性可能不会立即显现出来,例如分隔符、转义、空值、unicode BOM 等。使用已经处理所有边缘情况的现有库。

    我建议您查看ng-csv,它可以满足您的需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-20
      • 2011-04-17
      • 2021-05-23
      相关资源
      最近更新 更多