UNPKG

read-excel-file

Version:

Read `.xlsx` files in a web browser or in Node.js

27 lines (26 loc) 1.05 kB
import unzipFromArrayBuffer from '../zip/unzipFromArrayBuffer.js'; import convertValuesFromUint8ArraysToStrings from './convertValuesFromUint8ArraysToStrings.js'; import filterZipArchiveEntry from './filterZipArchiveEntry.js'; /** * Unpacks `*.xlsx` file contents. * An `.xlsx` file is really just a `.zip` archive with `.xml` files inside. * @param {(Blob|ArrayBuffer)} input * @return {Promise<Record<string,string>} Resolves to an object holding `*.xlsx` file entries. */ export default function unpackXlsxFile(input) { return getArrayBuffer(input).then(function (arrayBuffer) { return unzipFromArrayBuffer(arrayBuffer, { filter: filterZipArchiveEntry }); }).then(convertValuesFromUint8ArraysToStrings); } function getArrayBuffer(input) { if (input instanceof Blob) { return input.arrayBuffer(); } if (input instanceof ArrayBuffer) { return Promise.resolve(input); } throw new TypeError('Unuspported input. Expected a `Blob` or an `ArrayBuffer`'); } //# sourceMappingURL=unpackXlsxFileUniversal.js.map