• angularjs 服务端下载execl


    html

    <button class="btn btn-sm btn-primary pull-right" ng-click="exportData($event)"><i class="fa fa-spinner fa-pulse hidden"></i>导出表格</button>

    js

    //导出数据
            $scope.exportData = function(e) {
                var arr = e.target.children[0].className.split(' ');
                var index = arr.indexOf('hidden');
                arr.splice(index, 1);
                e.target.children[0].className = arr.join(' ');
                e.target.disabled = true;
    
                function resetBtn(e) {
                    e.target.children[0].className = e.target.children[0].className + ' hidden';
                    e.target.disabled = false;
                }
    
                $http({
                    method: 'get',
                    url: $scope.baseUrl + 'sampleCenter/reception?part=seek&action=exportExcel',
                    responseType: 'arraybuffer'
                }).then(function(response) {
                    if (response.headers()['content-type'] == 'text/html; charset=utf-8') {
                        var encode = new TextDecoder('utf-8');
                        var data = JSON.parse(encode.decode(new Uint8Array(response.data)));
                        if (data.error) {
                            toaster.pop({
                                type: 'error',
                                body: data.error,
                                timeout: 0
                            });
                            resetBtn(e);
                        }
                    } else {
                        var blob = new Blob([response.data], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" });
                        var objectUrl = URL.createObjectURL(blob);
                        var a = document.createElement('a');
                        a.href = objectUrl;
                        a.target = '_blank';
                        a.download = '表格';
                        document.body.append(a);
                        a.click();
                        a.remove();
                        resetBtn(e);
                    }
                }, function() {
                    toaster.pop({
                        type: 'error',
                        body: '下载失败请与管理员联系!',
                        timeout: 0
                    });
                    resetBtn(e);
                })
            }
  • 相关阅读:
    114自定义UITableViewCell(扩展知识:为UITableViewCell添加动画效果)
    101在检索框中添加一个书签按钮(扩展知识:在检索框中添加一个范围条)
    088实现自动倒计时功能
    086设置日期选择器框的显示样式
    Shell if else
    Shell数组
    Shell字符串
    Shell运算符
    数据挖掘标准流程规范
    Shell转义字符与变量替换
  • 原文地址:https://www.cnblogs.com/yiyangl/p/13406164.html
Copyright © 2020-2023  润新知