亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AngularJs導出數據到Excel的示例代碼

發布時間:2020-10-18 11:23:29 來源:腳本之家 閱讀:260 作者:喝不醉再來 欄目:web開發

公司一個新的需求導出Exce表格,研究了一下,最后終于實現,分享給大家。

1 使用FileSaver

第一次采用FileSaver.js 由于剛開始導致導出一片空白,還只能抓取網頁里面的表格地址:https://github.com/eligrey/FileSaver.js

HTML

<div id="exportable">
  <table width="100%">
    <thead>
      <tr>
        <th>Name</th>
        <th>Email</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>小明</td>
        <td>dsds@163.com</td>
      </tr>
    </tbody>
  </table>
</div>

js部分

var blob = new Blob([document.getElementById('exportable').innerHTML], {
    type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"
  });
  saveAs(blob, "日記賬.xls");
};

2 使用 alasql

使用alasql的好處就是可以在數據層面去組織結構

官網地址:http://alasql.org/

js部分

\\ angular 需要導入xlsx.core.min.js alasql.min.js
\\ 文件結構 
 var arr = [
      {
        '收入':1,
        '支出':2,
        '結存':3
      },
      {
        '收入':4,
        '支出':5,
        '結存':6
      }
    ]

\\ 生成 excel 文件
alasql('SELECT * INTO XLSX("日記賬.xlsx",{headers:true}) FROM ?',[arr]);

我優化的版本

// 導出excel

  $scope.exportToExcel=function(){
    var data = angular.copy($scope.pageData.list)
    var arr = [];
    var type = null;
    var amountIN = 0;
    var amountOUT = 0;
    angular.forEach(data,function (item) {
      // 兌付情況
      if(item.isHappened){
        type = '未兌付'
      }else{
        type = '已兌付'
      }
      // 收入
      if(item.itemModel=='INCOME'){
        amountIN = item.amount
      }
      // 支出
      if(item.itemModel=='OUTCOME'){
        amountOUT = item.amount
      }
      arr.push({
        '兌付情況':type,
        '合同':item.keyId,
        '收付日期':$filter('date')(item.updateTime,'yyyy-MM-dd'),
        '科目':item.itemType.value,
        '收入':$filter('number')(amountIN,2),
        '支出':$filter('number')(amountOUT,2),
        '結存':$filter('number')(item.balance,2)
      })
    })
    if(arr.length < 1){
      ToasterTool.error('暫無數據,導出失敗!');
    }else{
      // alasql('SELECT * INTO XLSX("日記賬.xlsx",{headers:true}) FROM ?',[arr]);
      
      alasql.promise('SELECT * INTO XLSX("日記賬-'+ DateTool.format(new Date(),'yyyy-MM-dd HH:mm:ss') + "-"+ $scope.loginUser.userName +'.xlsx",{headers:true}) FROM ?',[arr])
        .then(function (data) {
          if(data == 1){
            $timeout(function(){
              ToasterTool.success('數據導出成功!')
            })

          }
        })
    }
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尼木县| 牙克石市| 万安县| 郁南县| 云梦县| 石嘴山市| 和平县| 襄城县| 贡山| 尉氏县| 普陀区| 安乡县| 天峻县| 图们市| 离岛区| 巢湖市| 绥宁县| 泾阳县| 秦安县| 太仆寺旗| 宁阳县| 嵩明县| 三穗县| 三亚市| 麻江县| 奉节县| 五河县| 新民市| 抚宁县| 榆中县| 洛扎县| 安乡县| 和龙市| 治多县| 扶沟县| 友谊县| 陕西省| 淳安县| 马公市| 青田县| 泸定县|