2016-10-03 11 views
0

exceljsを使用してmongodbコレクションのExcelファイルを作成しようとしています。 これは私が をやろうとしているものですこれは私のMongoDB collectonノードXLSX for write excelファイル

{ 
    "id": "01", 
    "make": "toyota", 
    "year": [ 
    2005, 
    2006, 
    2007, 
    2008, 
    2009, 
    2010 
    ], 
    "model": "fortuner", 
    "type": "a" 
} 
{ 

"id": "02", 
"make": "toyota", 
"year": [ 
    2005, 
    2006, 
    2007, 
    2008, 
    2009, 
    2010 
    ], 
"model": "land cruiser 200", 
"type": "b" 
} 

{ 
"id": "03", 
"make": "toyota", 
"year": [ 
    2005, 
    2006, 
    2007, 
    2008, 
    2009, 
    2010 
], 
"model": "land cruiser 200", 
"type": "e" 
} 

であり、私は2005

ID作る年モデルタイプ

01トヨタ、このコレクションからExcelファイルを作成したいです-2010彼らはよXLSX公式ドキュメントでXXXX

02日産2000年から2006年のb XXXX

nodejs

ライティングワークブックを使用するための援助をファイルに書き込め:

/* output format determined by filename */ 
XLSX.writeFile(workbook, 'out.xlsx'); 
/* at this point, out.xlsx is a file that you can distribute */ 
write to binary string (using FileSaver.js): 
/* bookType can be 'xlsx' or 'xlsm' or 'xlsb' */ 
var wopts = { bookType:'xlsx', bookSST:false, type:'binary' }; 

var wbout = XLSX.write(workbook,wopts); 

function s2ab(s) { 
var buf = new ArrayBuffer(s.length); 
var view = new Uint8Array(buf); 
for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; 
return buf; 
} 

/* the saveAs call downloads a file on the local machine */ 
saveAs(new Blob([s2ab(wbout)],{type:""}), "test.xlsx") 

私はこれを使用する方法について良いアイデアを得ることができません。 誰でもこれを行う方法を知っていますか?

答えて

0

excel-exportを使用してください。ここにコードスニペットがあります。

 var nodeExcel = require('excel-export'); 
     app.get('/downloadExcel',function(req,res){ 
     var configuration = {}; 
     configuration.cols=[{ 
          caption:'ID', 
          type:'String', 
          width:20 
         },{ 
          caption:'Make', 
          type:'String', 
          width:20 

         },{ 
          caption:'Year', 
          type:'String', 
          width:20 
         },{ 
          caption:'Model', 
          type:'String', 
          width:20 
         },{ 
          caption:'Type', 
          type:'String', 
          width:20 
    } 
    ]; 
     }); 

configuration.rows = [["01", "toyota" ,"2005-2010", "a", "xxxx"],["02", "nissan" ,"2005-2010", "b", "xxxx"]]; 
var result=nodeExcel.execute(configuration); 
res.setHeader('Content-Type','application/vnd.openxmlformates'); 
res.setHeader("Content-Disposition","attachment;filename="+"file_name.xlsx"); 
res.end(result,'binary'); 
+0

私はすでに私は同じ使用しようとする理由ですので、書き込みデータは、上記のコードは、Excelファイルにデータを書き込むためである – sasy

+0

エクセルするために、Excelのデータを読み取るためにXLSXを使用します –

関連する問題