NodeJs導出Excel


node.js只要安裝好excel-export插件之后就可以很方便的將所需要的數據導出為excel表格。
1,在項目目錄下安裝excel-export插件
npm install excel-export
2,頁面
<button id="exportExcel" class="btn btn-warning">合同導出</button>
js:$("#exportExcel").click(function(){
console.info("exportExcel");
var id = $("#contractID").val();
console.info("id:"+id);
var url =  "/api/contracts/exportExcel/" + id;
console.info(url);
window.location = url;//這里不能使用get方法跳轉,否則下載不成功
 
});
 
3,router.js
var nodeExcel = require('excel-export');//關聯excel-export模塊
var contract = require('../app/controller/contract');
app.get('/api/contracts/exportExcel/:id',contract.exportExcel);//跳轉到后台
 
4,后台
exports.exportExcel = function(req, res) {
 /**靜態數據
*  var conf ={};
    conf.cols = [
        {caption:'string', type:'string'},
        {caption:'date', type:'date'},
        {caption:'bool', type:'bool'},
        {caption:'number', type:'number'}               
    ];
    conf.rows = [
        ['pi', (new Date(2013, 4, 1)).getJulian(), true, 3.14],
        ["e", (new Date(2012, 4, 1)).getJulian(), false, 2.7182]
    ];
    var result = nodeExcel.execute(conf);
    res.setHeader('Content-Type', 'application/vnd.openxmlformats');
    res.setHeader("Content-Disposition", "attachment; filename=" + "Report.xlsx");
    res.end(result, 'binary');
 
**/
 
console.log("req.params.id:"+req.params.id);
var queryId = req.params['id']+'';
var contract = new Contract();
var conf = {};
conf.cols = [
   {caption:'采購編號', type:'string'},
   {caption:'合同名稱', type:'string'},
   {caption:'甲方', type:'string'},
   {caption:'甲方部門', type:'string'},
   {caption:'乙方', type:'string'},
   {caption:'乙方部門', type:'string'},
   {caption:'簽訂日期', type:'date'},
   {caption:'中標日期', type:'date'},
   {caption:'結束日期', type:'date'},
   {caption:'銷售負責人', type:'string'},
   {caption:'商務負責人', type:'string'},
   {caption:'業績歸屬部門', type:'string'},
   {caption:'金額', type:'number'},
   {caption:'狀態', type:'string'}
 
];
 
var getId = {
_id: queryId
};
contract.checkIdData(getId,function(data){
  console.log("lijuanxia");
  console.log("data.lentht"+data.length);
         
          var m_data = [];
          var arry = [data[0].myId, data[0].name, data[0].partyA, data[0].partyADept, data[0].partyB, data[0].partyBDept, data[0].signDate, data[0].beginDate, data[0].endDate, "銷售負責人", "商務負責人", "業績歸屬部門", data[0].amount, data[0].state ];
          m_data[0] = arry;
          conf.rows = m_data;
          
          var result = nodeExcel.execute(conf);
         
          res.setHeader('Content-Type', 'application/vnd.openxmlformats');
         
          res.setHeader("Content-Disposition", "attachment; filename=" +data[0].name+ ".xlsx");
      
          res.end(result, 'binary');
});
 
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM