2015-03-31 81 views
3

在我的Excel export.html我:在Excel角出口

<div class="config-menu-container first"> 

      <div class="menu-title"> 
     <span class="excel import">Excel import</span> 
       <span class="excel export">Excel Export</span> 
      </div> 

      <ul class="menu-body step2" id="exportable"> 
       <li class="title"> 
        <span class="label main order first」>1</span> 
        <span class="label main order second」>2</span> 
        <span class="label main order third」>3</span> 
       </li> 
       <li class="row" ng-repeat="device in devices"> 
        <span class="label sub first" ng-bind="device.deviceId" ng-click="deviceScope = device.id"></span> 
        <span class="input second"> 
         <custom-input type="text" width="330" height="24" model="device.name"></custom-input> 
        </span> 
        <span class="input third" ng-repeat-end> 
         <custom-input type="select2" width="462" height="24" label=「Select Device." 
             options="option.billingInfo" model="device.billingTargetId"></custom-input> 
        </span> 
       </li> 
      </ul> 
</div> 

在我的Excel export.directive.js我:

'use strict'; 

angular.module('bemsApp') 
    .directive('excelExport', function() { 
    return { 
     templateUrl: 'app/directives/excel-export/excel-export.html', 
     restrict: 'EA', 
     link: function (scope, element, attrs) { 
      scope.exportData = function() { 
       var blob = new Blob([document.getElementById('exportable').innerHTML], { 
        type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8" 
       }); 
       saveAs(blob, "Report.xls"); 
      }; 
     } 
    }; 
    }); 

當我嘗試保存Excel文件,則會發生錯誤saveAs沒有定義。

我不得不單獨定義saveAs函數,想知道是否有辦法保存Excel文件。

+2

因爲FileSaver intervace從HTML5規範中刪除,則需要一個Filesaver.js庫。請參閱文檔http://updates.html5rocks.com/2011/08/Saving-generated-files-on-the-client-side – iiro 2015-03-31 05:23:59

回答

4

您需要一個Filesaver.js庫,因爲FileSaver接口已從html5規格中刪除。看到該文檔

http://updates.html5rocks.com/2011/08/Saving-generated-files-on-the-client-side

+0

我到目前爲止成功的是創建一個包含Filesaver.js的Excel文件。所以你打開一個Excel文件,而不是一個HTML標籤,這個數據輸入不變。爲了以Excel格式輸出,您希望以其他方式執行此操作嗎? – bismute 2015-03-31 07:04:55

+0

@bismute抱歉,但我不明白你的意思是什麼?你能澄清一點嗎? – iiro 2015-03-31 07:19:46