【问题标题】:Uncaught TypeError: this.movie.setSheetName is not a function - Angularjs Datatable未捕获的类型错误:this.movi​​e.setSheetName 不是函数 - Angularjs 数据表
【发布时间】:2016-09-06 11:20:29
【问题描述】:

谁能告诉我为什么会出现这个错误。

未捕获的类型错误:this.movi​​e.setSheetName 不是函数

使用此处提到的 Angularjs 数据表中的按钮时

https://l-lin.github.io/angular-datatables/#/withButtons

这里是代码

$rootScope.dtOptions = DTOptionsBuilder.newOptions()
    .withPaginationType('full_numbers')
    .withDisplayLength(10)
    .withDOM('frtip')
    .withBootstrap()
    .withBootstrapOptions({
        TableTools: {
            classes: {
            container: 'btn-group',
                buttons: {
                    normal: 'btn btn-danger'
                }
            }
        },
        ColVis: {
            classes: {
                masterButton: 'btn btn-primary'
            }
        },
        pagination: {
            classes: {
                ul: 'pagination pagination-sm'
            }
        }
    })
    .withOption('bLengthChange', false).withButtons([
        'copy',
        'print',
        'excel'
    ]);

【问题讨论】:

    标签: jquery angularjs datatables angular-datatables


    【解决方案1】:

    您需要安装jszip。将此行包含到您的 bower.json dependencies 部分(如果您使用的是凉亭)

    "dependencies": {
       ...
       "jszip": "2.6.0" 
    }
    

    并运行bower update。或者使用npm

    npm install jszip@2.6.0
    

    请务必明确使用 2.6.0(或更低)。 dataTables 与最新的3.0.0 不兼容。


    更新;设置文件名:

    .withButtons([ 
        { 
          extend : 'excel'
          filename: 'download', 
        },
        ...
    ])
    

    这将产生一个名为download.xlsx的文件

    【讨论】:

    • 添加后,它将数据保存为 blob 对象 .xlsx 但没有任何文件名
    • @Yahiya,只需指定一个文件名 - 请参阅更新。
    • 太棒了!!最后一个问题。我看到文件以 210 Kb 的大小保存,但是当我打开文件时它是空的。我正在使用开放式办公室的 linux mint
    • @Yahiya,我不知道。我自己使用 linux 和 LibreOffice,对 Excel、CSV、PDF 或类似文件没有任何问题。尝试使用extend: 'excelHtml5' 而不是extend: 'excel''excel' 实际上是使用闪存版本(如果可用)的“后备”。否则,由于 webkit 错误,excel 唯一已知的问题是 Safari(请参阅'docs*
    • 努力工作。 openoffice 可能存在一些问题,但无论如何,您的回答对我有所帮助,现在可以保存文件。谢谢@davidkonrad。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 2022-11-19
    • 1970-01-01
    相关资源
    最近更新 更多