excel-builder
Version:
An easy way of building Excel files with javascript
40 lines (34 loc) • 1.18 kB
JavaScript
/* jshint strict: false, node: true */
/* globals onmessage: true, importScripts, postMessage */
;
var requireConfig;
var worksheet;
var start = function(data) {
require(['Worksheet'], function(Worksheet) {
worksheet = new Worksheet();
worksheet.importData(data);
postMessage({status: 'sharedStrings', data: worksheet.collectSharedStrings()});
});
};
var onmessage = function(event) {
var data = event.data;
if (typeof data === 'object') {
switch (data.instruction) {
case "setup":
requireConfig = data.config;
importScripts(data.requireJsPath);
require.config(requireConfig);
postMessage({status: "ready"});
break;
case "start":
start(data.data);
break;
case "export":
worksheet.setSharedStringCollection({
strings: data.sharedStrings
});
postMessage({status: "finished", data: worksheet.toXML().toString()});
break;
}
}
};