/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ import { Meteor } from 'meteor/meteor'; import { check } from 'meteor/check'; import XLSX from 'xlsx'; Meteor.methods({ /* read the data and return the workbook object to the frontend */ uploadU: (ab, name) => { check(ab, Uint8Array); check(name, String); return XLSX.read(ab, { type: 'array' }); }, download: (html) => { check(html, String); let wb; if (html.length > 3) { /* parse workbook if html is available */ wb = XLSX.read(html, { type: 'binary' }); } else { /* generate a workbook object otherwise */ const data = [['a', 'b', 'c'], [1, 2, 3]]; const ws = XLSX.utils.aoa_to_sheet(data); wb = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(wb, ws, 'SheetJS'); } return wb; }, }); Meteor.startup(() => { });