2

网址:

https://github.com/agershun/a...
http://alasql.org/

安装依赖

npm install alasql --save
npm install xlsx --save

引入依赖

'alasql/dist/alasql.js',
'xlsx/dist/xlsx.core.min.js',

导出文件

// 导出文件的格式
var mystyle = {
  headers:true,
  column: {style:{Font:{Bold:"1"}}},
  rows: {1:{style:{Font:{Color:"#FF0077"}}}},
  cells: {1:{1:{
    style: {Font:{Color:"#00FFFF"}}
  }}}
};

// 数据
$scope.datas = [{
    name: "John Smith",
    email: "j.smith@example.com",
    dob: "1985-10-10"
  }, {
    name: "Jane Smith",
    email: "jane.smith@example.com",
    dob: "1988-12-22"
  }, {
    name: "Jan Smith",
    email: "jan.smith@example.com",
    dob: "2010-01-02"
  }, {
    name: "Jake Smith",
    email: "jake.smith@exmaple.com",
    dob: "2009-03-21"
  }, {
    name: "Josh Smith",
    email: "josh@example.com",
    dob: "2011-12-12"
  }, {
    name: "Josh Smith",
    email: "josh@example.com",
    dob: "2011-12-12"
  }, {
    name: "Josh Smith",
    email: "josh@example.com",
    dob: "2011-12-12"
  }, {
    name: "Josh Smith",
    email: "josh@example.com",
    dob: "2011-12-12"
  }, {
    name: "Josh Smith",
    email: "josh@example.com",
    dob: "2011-12-12"
  }, {
    name: "Josh Smith",
    email: "josh@example.com",
    dob: "2011-12-12"
  }, {
    name: "Josh Smith",
    email: "josh@example.com",
    dob: "2011-12-12"
  }, {
    name: "Jessie Smith",
    email: "jess@example.com",
    dob: "2004-10-12"
}];

// 事件
$scope.exportExcel = function(){
  console.log(alasql,'alasql');
  alasql('SELECT * INTO XLSXML("john.xls",?) FROM ?',[mystyle,$scope.datas]);
}

结果:

图片描述

通过$http服务实现excel导出

$http({
  url: '/zl-ec/mc/payment/exportPaymentBill',
  method: "POST",
  params: params,
  headers: {
     'Content-type': 'application/json'
   },
  responseType: 'arraybuffer'
}).success(function (data) {
  var blob = new Blob([data], {type: "application/vnd.ms-excel"});
  var objectUrl = URL.createObjectURL(blob);
  var a = document.createElement('a');
  document.body.appendChild(a);
  a.setAttribute('style', 'display:none');
  a.setAttribute('href', objectUrl);
  var filename="账单.xlsx";
  a.setAttribute('download', filename);
  a.click();
  URL.revokeObjectURL(objectUrl);
}).error(function () {
  console.log('文件下载失败');
});

cxyr
8 声望1 粉丝