• angularJS导出数据到Excel


    <button class="btn w-xs btn-success" ng-disabled="problemList.length == 0" ng-click="exportData()">导出</button>
    <table class="table table-striped table-hover" id="tableExcel">
       <thead>
          <tr>
            <th>名称</th>
            <th>河段名称</th>
            <th>创建人</th>
            <th>问题类型</th>
            <th>来源</th>
            <th>问题状态</th>
            <th>创建时间</th>
            <th>操作</th>
          </tr>
          </thead>
          <tbody>
          <tr ng-repeat="list in problemList">
            <td ng-click="detailsShow(list.id,$event)">
              <a>{{ ::list.name }}</a>
            </td>
            <td>{{ ::list.reachName }}</td>
            <td>{{ ::list.creatorName }}</td>
            <td>
              <span ng-repeat="(k,v) in list.type">{{ ::v }}   </span>
            </td>
            <td>{{ ::list.sourceStr }}</td>
            <td>
              <label class="label" ng-class="list.status == 2?'label-warning':'label-success'">{{ ::list.statusStr
                }}</label>
            </td>
            <td>{{ (list.createDate) | date: "yyyy-MM-dd HH:mm" }}</td>
            <td></td>
          </tr>
      </tbody>
    </table>
    
    /** 
         * 导出问题列表为excel
        */
       $scope.exportData=function(){
        var data = angular.copy($scope.problemList)
        var arr = [];
        angular.forEach(data,function (item) {
          //问题类型
          // if(!jQuery.isEmptyObject(item.type)) {
            
          // }
          arr.push({
            '名称': item.name,
            '河道': item.riverName,
            '河段名称': item.reachName,
            '行政区域': '',
            '创建人': item.creatorName,
            '问题类型': '',
            '来源': item.sourceStr,
            '问题状态': item.statusStr,
            '创建时间': $filter('date')(item.createDate,'yyyy-MM-dd HH:mm')
          })
        })
        if(arr.length < 1){
          toastr.error('暂无数据,导出失败!');
        }else{
          alasql.promise('SELECT * INTO XLSX("河道问题列表'+'.xlsx", {headers:true}) FROM ?',[arr])
            .then(function (data) {
              if(data == 1){
                $timeout(function(){
                  toastr.success('数据导出成功!')
                })
     
              }
            })
        }
      }
    

      

    js部分需要引入两个js文件https://blog-static.cnblogs.com/files/bertha-zm/xlsx.core.min.js  和 https://blog-static.cnblogs.com/files/bertha-zm/alasql.min.js

    js部分代码:

  • 相关阅读:
    【Selenium】Option加载用户配置,Chrom命令行参数
    Webdriver中关于driver.navigate().to()和driver.get()使用的区别
    【Selenium】idea导入eclisp项目的问题
    【数据库】数据库操作
    【monkey】
    【idea】idea快捷键
    【Selenium】Selenium1
    【Selenium】idea的selenium环境配置
    前端学习
    CSS 居中
  • 原文地址:https://www.cnblogs.com/bertha-zm/p/10120161.html
Copyright © 2020-2023  润新知