5

In my excel-export.html I have:

<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>

In my excel-export.directive.js I have:

'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");
            };
      }
    };
  });

When I try to save the Excel file, an error occurs saveAs did not define.

I have to separately define the saveAs function wondering if there is a way to save the Excel file.

pnuts
  • 58,317
  • 11
  • 87
  • 139
bismute
  • 149
  • 1
  • 4
  • 11

1 Answers1

4

You need a Filesaver.js library since FileSaver interface is removed from the html5 specs. See the doc

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

iiro
  • 3,132
  • 1
  • 19
  • 22
  • I was successful by far is to create an Excel file containing the Filesaver.js. So you open an Excel file, not an HTML tag that data into output unchanged. In order to output in Excel format would you want to do this any other way? – bismute Mar 31 '15 at 07:04
  • @bismute sorry but i don't really understand what do you mean now? Could you clarify a bit? – iiro Mar 31 '15 at 07:19