import { writeFile, set_fs, utils } from 'xlsx'; import * as fs from 'fs'; set_fs(fs); import { MongoClient } from 'mongodb'; const url = 'mongodb://localhost:27017/sheetjs'; const db_name = 'sheetjs'; /* Connect to mongodb server */ const client = await MongoClient.connect(url, { useUnifiedTopology: true }); /* Sample data table */ const db = client.db(db_name); try { await db.collection('pres').drop(); } catch(e) {} const pres = db.collection('pres'); await pres.insertMany([ { name: "Barack Obama", idx: 44 }, { name: "Donald Trump", idx: 45 }, { name: "Joseph Biden", idx: 46 } ], {ordered: true}); /* Create worksheet from collection */ const aoo = await pres.find({}, {projection:{_id:0}}).toArray(); const ws = utils.json_to_sheet(aoo); /* Export to XLSX */ const wb = utils.book_new(); utils.book_append_sheet(wb, ws, "Presidents"); writeFile(wb, "SheetJSMongoCRUD.xlsx"); /* Close connection */ client.close();