read-excel-file
Version:
Read `.xlsx` files in a web browser or in Node.js
32 lines (30 loc) • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = readXlsxFile;
var _browser = _interopRequireDefault(require("worker-f/browser"));
var _parseXml = _interopRequireDefault(require("../xml/parseXml.js"));
var _unpackXlsxFileBrowser = _interopRequireDefault(require("./unpackXlsxFileBrowser.js"));
var _parseSpreadsheetContents = _interopRequireDefault(require("../xlsx/parseSpreadsheetContents.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
// Unzipper is multi-threaded and it spawns a separate worker for each individual file
// inside the archive that is large-enough to justify spawning a worker.
// Because it uses its own `Worker` implementation, it won't use `createWorkerFunction()`.
//
// XML parser is itself single-threaded but it could spawn a separate worker for each
// individual `.xml` file that is large-enough to justify spawning a worker.
// So it could use `createWorkerFunction()`.
//
/**
* Reads an `.xlsx` file.
* @param {(File|Blob|ArrayBuffer)} input
* @param {object} [options]
* @return {Promise<Sheet[]>}
*/
function readXlsxFile(file, options) {
return (0, _unpackXlsxFileBrowser["default"])(file).then(function (contents) {
return (0, _parseSpreadsheetContents["default"])(_browser["default"], _parseXml["default"], contents, options);
});
}
//# sourceMappingURL=readXlsxFileWebWorker.js.map