js里一个赋值结构不知道是啥意思

小昭归来 发布于 2013/11/21 19:20
阅读 354
收藏 0
     exports.base64 = function base64(string){
        
        return window.btoa(unescape(encodeURIComponent(string)));
    };
    
    exports.tableToExcel = function tableToExcel(tableList, name){

        var tables = [],
          uri = 'data:application/vnd.ms-excel;base64,',
          template1 = '<html xmlns:o="urn:schemas-microsoft-com🏢office" xmlns:x="urn:schemas-microsoft-com🏢excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{{worksheet}}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body> {{#each tables}}<table>{{{this}}}</table>{{/each}} </body></html>';
        
          for (var i = 0; i < tableList.length; i++) {
            tables.push(tableList[i].innerHTML);
          }
           var data = {
            worksheet: name || 'Worksheet',
            tables: tables
          };


          return uri + exports.base64(template.render(template1, data));
    };
    
    $(".export-button").click(function(e){

        var tables = $('.table'),
          table = null;
          tables.each(function (i) {
            var t = $('<table><thead></thead><tbody></tobdy></table>');
            t.find('thead').html($(this.tHead).innerHTML);
            t.find('tbody').append($(this.tBodies).children(':visible').clone());
            t.find('.not-print').remove(); // not-print 是 @media print中不会打印的部分
            t.find('a').replaceWith(function (i) { // 表格中不再需要的超链接也移除了
              return $(this).innerHTML;
            });
            table = table ? table.add(t) : t;
      });
          exports.tableToExcel(table,"test");
    }); 

《导出Table数据并保存为Excel》(http://blog.meathill.com/tech/js/export-table-data- into-a-excel-file.html)这个博客上看到了,我照着您的代码写了一个,有一个地方没看懂 这里var data = {
            worksheet: name || 'Worksheet',
            tables: tables
          };
不晓得是什么意思,也不小的data里面是对象数据是什么结构,而我用的优势arttemplate模板,由于不知道data的结果所以
{{#each tables}}<table>{{{this}}}</table>{{/each}}数据填充就不晓得该怎么写


亲们可不可以给解释下var data = {
            worksheet: name || 'Worksheet',
            tables: tables

          };这几句?


加载中
0
lock_free
lock_free

就是个json吧。 worksheet: name || 'Worksheet', name 是null或undefined 的话就用 Worksheet


小昭归来
小昭归来
下那句话呢--tables:tables
0
cmy00cmy
cmy00cmy

一个对象,两个属性 

属性worksheet,值name,若name为null或undefined则为Worksheet

属性tables,值tables数组

返回顶部
顶部