read-excel-file 5.2.23 → 5.2.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -3
- package/README.md +3 -3
- package/bundle/read-excel-file.min.js +1 -1
- package/bundle/read-excel-file.min.js.map +1 -1
- package/commonjs/read/coordinates.js +4 -2
- package/commonjs/read/coordinates.js.map +1 -1
- package/commonjs/read/getData.js +14 -6
- package/commonjs/read/getData.js.map +1 -1
- package/commonjs/read/parseCellValue.js +29 -5
- package/commonjs/read/parseCellValue.js.map +1 -1
- package/commonjs/read/parseDimensions.js +2 -0
- package/commonjs/read/parseDimensions.js.map +1 -1
- package/commonjs/read/parseSheet.js +3 -1
- package/commonjs/read/parseSheet.js.map +1 -1
- package/commonjs/read/readSheetNamesBrowser.js +26 -0
- package/commonjs/read/readSheetNamesBrowser.js.map +1 -0
- package/commonjs/read/readSheetNamesNode.js +26 -0
- package/commonjs/read/readSheetNamesNode.js.map +1 -0
- package/commonjs/read/readSheetNamesNode.test.js.map +1 -0
- package/commonjs/read/readSheetNamesWebWorker.js +26 -0
- package/commonjs/read/readSheetNamesWebWorker.js.map +1 -0
- package/index.commonjs.js +1 -0
- package/index.d.ts +7 -0
- package/index.js +1 -0
- package/modules/read/coordinates.js +3 -2
- package/modules/read/coordinates.js.map +1 -1
- package/modules/read/getData.js +14 -6
- package/modules/read/getData.js.map +1 -1
- package/modules/read/parseCellValue.js +29 -5
- package/modules/read/parseCellValue.js.map +1 -1
- package/modules/read/parseDimensions.js +3 -1
- package/modules/read/parseDimensions.js.map +1 -1
- package/modules/read/parseSheet.js +3 -1
- package/modules/read/parseSheet.js.map +1 -1
- package/modules/read/readSheetNamesBrowser.js +17 -0
- package/modules/read/readSheetNamesBrowser.js.map +1 -0
- package/modules/read/readSheetNamesNode.js +17 -0
- package/modules/read/readSheetNamesNode.js.map +1 -0
- package/modules/read/readSheetNamesNode.test.js.map +1 -0
- package/modules/read/readSheetNamesWebWorker.js +17 -0
- package/modules/read/readSheetNamesWebWorker.js.map +1 -0
- package/node/index.commonjs.js +1 -0
- package/node/index.d.ts +7 -0
- package/node/index.js +1 -0
- package/package.json +1 -1
- package/web-worker/index.commonjs.js +1 -0
- package/web-worker/index.d.ts +24 -1
- package/web-worker/index.js +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../source/read/parseCellValue.js"],"names":["parseDate","BUILT_IN_DATE_NUMBER_FORMAT_IDS","getCellValue","value","type","getInlineStringValue","getStyleId","styles","values","properties","options","trim","undefined","Error","parseInt","decodeError","Date","parseFloat","styleId","style","indexOf","numberFormat","id","dateFormat","template","smartDateParser","isDateTemplate","TypeError","errorCode","tokens","split","token"],"mappings":"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","sourcesContent":["import parseDate from './parseDate'\r\n\r\n// https://hexdocs.pm/xlsxir/number_styles.html\r\nconst BUILT_IN_DATE_NUMBER_FORMAT_IDS = [14,15,16,17,18,19,20,21,22,27,30,36,45,46,47,50,57]\r\n\r\nexport default function getCellValue(value, type, {\r\n\tgetInlineStringValue,\r\n\tgetStyleId,\r\n\tstyles,\r\n\tvalues,\r\n\tproperties,\r\n\toptions\r\n}) {\r\n if (!type) {\r\n // Default cell type is \"n\" (numeric).\r\n // http://www.datypic.com/sc/ooxml/t-ssml_CT_Cell.html\r\n type = 'n'\r\n }\r\n\r\n // Available Excel cell types:\r\n // https://github.com/SheetJS/sheetjs/blob/19620da30be2a7d7b9801938a0b9b1fd3c4c4b00/docbits/52_datatype.md\r\n //\r\n // Some other document (seems to be old):\r\n // http://webapp.docx4java.org/OnlineDemo/ecma376/SpreadsheetML/ST_CellType.html\r\n //\r\n switch (type) {\r\n // If the cell contains formula string.\r\n case 'str':\r\n value = value.trim()\r\n if (value === '') {\r\n value = undefined\r\n }\r\n break\r\n\r\n // If the cell contains an \"inline\" (not \"shared\") string.\r\n case 'inlineStr':\r\n value = getInlineStringValue()\r\n if (value === undefined) {\r\n throw new Error(`Unsupported \"inline string\" cell value structure`) // : ${cellNode.textContent}`)\r\n }\r\n value = value.trim()\r\n if (value === '') {\r\n value = undefined\r\n }\r\n break\r\n\r\n // If the cell contains a \"shared\" string.\r\n // \"Shared\" strings is a way for an Excel editor to reduce\r\n // the file size by storing \"commonly used\" strings in a dictionary\r\n // and then referring to such strings by their index in that dictionary.\r\n case 's':\r\n // If a cell has no value then there's no `<c/>` element for it.\r\n // If a `<c/>` element exists then it's not empty.\r\n // The `<v/>`alue is a key in the \"shared strings\" dictionary of the\r\n // XLSX file, so look it up in the `values` dictionary by the numeric key.\r\n value = values[parseInt(value)]\r\n value = value.trim()\r\n if (value === '') {\r\n value = undefined\r\n }\r\n break\r\n\r\n case 'b':\r\n value = value === '1' ? true : false\r\n break\r\n\r\n // Stub: blank stub cell that is ignored by data processing utilities.\r\n case 'z':\r\n value = undefined\r\n break\r\n\r\n // Error: `value` is a numeric code.\r\n // They also wrote: \"and `w` property stores its common name\".\r\n // It's unclear what they meant by that.\r\n case 'e':\r\n value = decodeError(value)\r\n break\r\n\r\n // Date: a string to be parsed as a date.\r\n // (usually a string in \"ISO 8601\" format)\r\n case 'd':\r\n if (value === undefined) {\r\n break\r\n }\r\n value = new Date(value)\r\n break\r\n\r\n case 'n':\r\n if (value === undefined) {\r\n break\r\n }\r\n value = parseFloat(value)\r\n // XLSX does have \"d\" type for dates, but it's not commonly used.\r\n // specific format for dates.\r\n // Sometimes a date can be heuristically detected.\r\n // https://github.com/catamphetamine/read-excel-file/issues/3#issuecomment-395770777\r\n //\r\n // Format IDs:\r\n // https://xlsxwriter.readthedocs.io/format.html#format-set-num-format\r\n //\r\n const styleId = getStyleId()\r\n if (styleId) {\r\n // styleId = parseInt(styleId)\r\n const style = styles[styleId]\r\n if (!style) {\r\n throw new Error(`Cell style not found: ${styleId}`)\r\n }\r\n if (BUILT_IN_DATE_NUMBER_FORMAT_IDS.indexOf(parseInt(style.numberFormat.id)) >= 0 ||\r\n (options.dateFormat && style.numberFormat.template === options.dateFormat) ||\r\n (options.smartDateParser !== false && style.numberFormat.template && isDateTemplate(style.numberFormat.template))) {\r\n value = parseDate(value, properties)\r\n }\r\n }\r\n break\r\n\r\n default:\r\n throw new TypeError(`Cell type not supported: ${type}`)\r\n }\r\n\r\n // Convert empty values to `null`.\r\n if (value === undefined) {\r\n value = null\r\n }\r\n\r\n return value\r\n}\r\n\r\n// Decodes numeric error code to a string code.\r\n// https://github.com/SheetJS/sheetjs/blob/19620da30be2a7d7b9801938a0b9b1fd3c4c4b00/docbits/52_datatype.md\r\nfunction decodeError(errorCode) {\r\n // While the error values are determined by the application,\r\n // the following are some example error values that could be used:\r\n switch (errorCode) {\r\n case 0x00:\r\n return '#NULL!'\r\n case 0x07:\r\n return '#DIV/0!'\r\n case 0x0F:\r\n return '#VALUE!'\r\n case 0x17:\r\n return '#REF!'\r\n case 0x1D:\r\n return '#NAME?'\r\n case 0x24:\r\n return '#NUM!'\r\n case 0x2A:\r\n return '#N/A'\r\n case 0x2B:\r\n return '#GETTING_DATA'\r\n default:\r\n // Such error code doesn't exist. I made it up.\r\n return `#ERROR_${errorCode}`\r\n }\r\n}\r\n\r\nfunction isDateTemplate(template) {\r\n const tokens = template.split(/\\W+/)\r\n for (const token of tokens) {\r\n if (['MM', 'DD', 'YY', 'YYYY'].indexOf(token) < 0) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n"],"file":"parseCellValue.js"}
|
|
1
|
+
{"version":3,"sources":["../../source/read/parseCellValue.js"],"names":["parseDate","BUILT_IN_DATE_NUMBER_FORMAT_IDS","getCellValue","value","type","getInlineStringValue","getStyleId","styles","values","properties","options","trim","undefined","Error","parseInt","decodeError","Date","parseFloat","styleId","style","indexOf","numberFormat","id","dateFormat","template","smartDateParser","isDateTemplate","TypeError","errorCode","toLowerCase","tokens","split","token","DATE_TEMPLATE_TOKENS"],"mappings":"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","sourcesContent":["import parseDate from './parseDate'\r\n\r\n// https://hexdocs.pm/xlsxir/number_styles.html\r\nconst BUILT_IN_DATE_NUMBER_FORMAT_IDS = [14,15,16,17,18,19,20,21,22,27,30,36,45,46,47,50,57]\r\n\r\nexport default function getCellValue(value, type, {\r\n\tgetInlineStringValue,\r\n\tgetStyleId,\r\n\tstyles,\r\n\tvalues,\r\n\tproperties,\r\n\toptions\r\n}) {\r\n if (!type) {\r\n // Default cell type is \"n\" (numeric).\r\n // http://www.datypic.com/sc/ooxml/t-ssml_CT_Cell.html\r\n type = 'n'\r\n }\r\n\r\n // Available Excel cell types:\r\n // https://github.com/SheetJS/sheetjs/blob/19620da30be2a7d7b9801938a0b9b1fd3c4c4b00/docbits/52_datatype.md\r\n //\r\n // Some other document (seems to be old):\r\n // http://webapp.docx4java.org/OnlineDemo/ecma376/SpreadsheetML/ST_CellType.html\r\n //\r\n switch (type) {\r\n // If the cell contains formula string.\r\n case 'str':\r\n value = value.trim()\r\n if (value === '') {\r\n value = undefined\r\n }\r\n break\r\n\r\n // If the cell contains an \"inline\" (not \"shared\") string.\r\n case 'inlineStr':\r\n value = getInlineStringValue()\r\n if (value === undefined) {\r\n throw new Error(`Unsupported \"inline string\" cell value structure`) // : ${cellNode.textContent}`)\r\n }\r\n value = value.trim()\r\n if (value === '') {\r\n value = undefined\r\n }\r\n break\r\n\r\n // If the cell contains a \"shared\" string.\r\n // \"Shared\" strings is a way for an Excel editor to reduce\r\n // the file size by storing \"commonly used\" strings in a dictionary\r\n // and then referring to such strings by their index in that dictionary.\r\n case 's':\r\n // If a cell has no value then there's no `<c/>` element for it.\r\n // If a `<c/>` element exists then it's not empty.\r\n // The `<v/>`alue is a key in the \"shared strings\" dictionary of the\r\n // XLSX file, so look it up in the `values` dictionary by the numeric key.\r\n value = values[parseInt(value)]\r\n value = value.trim()\r\n if (value === '') {\r\n value = undefined\r\n }\r\n break\r\n\r\n case 'b':\r\n value = value === '1' ? true : false\r\n break\r\n\r\n // Stub: blank stub cell that is ignored by data processing utilities.\r\n case 'z':\r\n value = undefined\r\n break\r\n\r\n // Error: `value` is a numeric code.\r\n // They also wrote: \"and `w` property stores its common name\".\r\n // It's unclear what they meant by that.\r\n case 'e':\r\n value = decodeError(value)\r\n break\r\n\r\n // Date: a string to be parsed as a date.\r\n // (usually a string in \"ISO 8601\" format)\r\n case 'd':\r\n if (value === undefined) {\r\n break\r\n }\r\n value = new Date(value)\r\n break\r\n\r\n case 'n':\r\n if (value === undefined) {\r\n break\r\n }\r\n value = parseFloat(value)\r\n // XLSX does have \"d\" type for dates, but it's not commonly used.\r\n // Instead, spreadsheets prefer using \"n\" type for dates for some reason.\r\n //\r\n // In such cases, sometimes a \"date\" type could be heuristically detected\r\n // by looking at such numeric value \"format\" and seeing if it's a date-specific one.\r\n // https://github.com/catamphetamine/read-excel-file/issues/3#issuecomment-395770777\r\n //\r\n // The list of generic numeric value \"formats\":\r\n // https://xlsxwriter.readthedocs.io/format.html#format-set-num-format\r\n //\r\n const styleId = getStyleId()\r\n if (styleId) {\r\n // styleId = parseInt(styleId)\r\n const style = styles[styleId]\r\n if (!style) {\r\n throw new Error(`Cell style not found: ${styleId}`)\r\n }\r\n if (BUILT_IN_DATE_NUMBER_FORMAT_IDS.indexOf(parseInt(style.numberFormat.id)) >= 0 ||\r\n (options.dateFormat && style.numberFormat.template === options.dateFormat) ||\r\n (options.smartDateParser !== false && style.numberFormat.template && isDateTemplate(style.numberFormat.template))) {\r\n value = parseDate(value, properties)\r\n }\r\n }\r\n break\r\n\r\n default:\r\n throw new TypeError(`Cell type not supported: ${type}`)\r\n }\r\n\r\n // Convert empty values to `null`.\r\n if (value === undefined) {\r\n value = null\r\n }\r\n\r\n return value\r\n}\r\n\r\n// Decodes numeric error code to a string code.\r\n// https://github.com/SheetJS/sheetjs/blob/19620da30be2a7d7b9801938a0b9b1fd3c4c4b00/docbits/52_datatype.md\r\nfunction decodeError(errorCode) {\r\n // While the error values are determined by the application,\r\n // the following are some example error values that could be used:\r\n switch (errorCode) {\r\n case 0x00:\r\n return '#NULL!'\r\n case 0x07:\r\n return '#DIV/0!'\r\n case 0x0F:\r\n return '#VALUE!'\r\n case 0x17:\r\n return '#REF!'\r\n case 0x1D:\r\n return '#NAME?'\r\n case 0x24:\r\n return '#NUM!'\r\n case 0x2A:\r\n return '#N/A'\r\n case 0x2B:\r\n return '#GETTING_DATA'\r\n default:\r\n // Such error code doesn't exist. I made it up.\r\n return `#ERROR_${errorCode}`\r\n }\r\n}\r\n\r\nfunction isDateTemplate(template) {\r\n // Date format tokens could be in upper case or in lower case.\r\n // There seems to be no single standard.\r\n // So lowercase the template first.\r\n template = template.toLowerCase()\r\n const tokens = template.split(/\\W+/)\r\n for (const token of tokens) {\r\n if (DATE_TEMPLATE_TOKENS.indexOf(token) < 0) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n\r\n// These tokens could be in upper case or in lower case.\r\n// There seems to be no single standard, so using lower case.\r\nconst DATE_TEMPLATE_TOKENS = [\r\n // Seconds (min two digits). Example: \"05\".\r\n 'ss',\r\n // Minutes (min two digits). Example: \"05\". Could also be \"Months\". Weird.\r\n 'mm',\r\n // Hours. Example: \"1\".\r\n 'h',\r\n // Hours (min two digits). Example: \"01\".\r\n 'hh',\r\n // \"AM\" part of \"AM/PM\". Lowercased just in case.\r\n 'am',\r\n // \"PM\" part of \"AM/PM\". Lowercased just in case.\r\n 'pm',\r\n // Day. Example: \"1\"\r\n 'd',\r\n // Day (min two digits). Example: \"01\"\r\n 'dd',\r\n // Month (numeric). Example: \"1\".\r\n 'm',\r\n // Month (numeric, min two digits). Example: \"01\". Could also be \"Minutes\". Weird.\r\n 'mm',\r\n // Month (shortened month name). Example: \"Jan\".\r\n 'mmm',\r\n // Month (full month name). Example: \"January\".\r\n 'mmmm',\r\n // Two-digit year. Example: \"20\".\r\n 'yy',\r\n // Full year. Example: \"2020\".\r\n 'yyyy'\r\n];"],"file":"parseCellValue.js"}
|
|
@@ -11,7 +11,9 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
|
|
|
11
11
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
12
|
|
|
13
13
|
import { parseCellCoordinates } from './coordinates';
|
|
14
|
-
import { getDimensions } from '../xml/xlsx';
|
|
14
|
+
import { getDimensions } from '../xml/xlsx'; // `dimensions` defines the spreadsheet area containing all non-empty cells.
|
|
15
|
+
// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sheetdimension?view=openxml-2.8.1
|
|
16
|
+
|
|
15
17
|
export default function parseDimensions(sheet) {
|
|
16
18
|
var dimensions = getDimensions(sheet);
|
|
17
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../source/read/parseDimensions.js"],"names":["parseCellCoordinates","getDimensions","parseDimensions","sheet","dimensions","split","map","row","column","length"],"mappings":";;;;;;;;;;;;AAAA,SACEA,oBADF,QAEO,eAFP;AAIA,SACEC,aADF,QAEO,aAFP;
|
|
1
|
+
{"version":3,"sources":["../../source/read/parseDimensions.js"],"names":["parseCellCoordinates","getDimensions","parseDimensions","sheet","dimensions","split","map","row","column","length"],"mappings":";;;;;;;;;;;;AAAA,SACEA,oBADF,QAEO,eAFP;AAIA,SACEC,aADF,QAEO,aAFP,C,CAIA;AACA;;AACA,eAAe,SAASC,eAAT,CAAyBC,KAAzB,EAAgC;AAC7C,MAAIC,UAAU,GAAGH,aAAa,CAACE,KAAD,CAA9B;;AACA,MAAIC,UAAJ,EAAgB;AACdA,IAAAA,UAAU,GAAGA,UAAU,CAACC,KAAX,CAAiB,GAAjB,EAAsBC,GAAtB,CAA0BN,oBAA1B,EAAgDM,GAAhD,CAAoD;AAAA;AAAA,UAAEC,GAAF;AAAA,UAAOC,MAAP;;AAAA,aAAoB;AACnFD,QAAAA,GAAG,EAAHA,GADmF;AAEnFC,QAAAA,MAAM,EAANA;AAFmF,OAApB;AAAA,KAApD,CAAb,CADc,CAKd;AACA;;AACA,QAAIJ,UAAU,CAACK,MAAX,KAAsB,CAA1B,EAA6B;AAC3BL,MAAAA,UAAU,GAAG,CAACA,UAAU,CAAC,CAAD,CAAX,EAAgBA,UAAU,CAAC,CAAD,CAA1B,CAAb;AACD;;AACD,WAAOA,UAAP;AACD;AACF","sourcesContent":["import {\r\n parseCellCoordinates\r\n} from './coordinates'\r\n\r\nimport {\r\n getDimensions\r\n} from '../xml/xlsx'\r\n\r\n// `dimensions` defines the spreadsheet area containing all non-empty cells.\r\n// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sheetdimension?view=openxml-2.8.1\r\nexport default function parseDimensions(sheet) {\r\n let dimensions = getDimensions(sheet)\r\n if (dimensions) {\r\n dimensions = dimensions.split(':').map(parseCellCoordinates).map(([row, column]) => ({\r\n row,\r\n column\r\n }))\r\n // When there's only a single cell on a sheet\r\n // there can sometimes be just \"A1\" for the dimensions string.\r\n if (dimensions.length === 1) {\r\n dimensions = [dimensions[0], dimensions[0]]\r\n }\r\n return dimensions\r\n }\r\n}\r\n\r\n"],"file":"parseDimensions.js"}
|
|
@@ -3,7 +3,9 @@ import parseDimensions from './parseDimensions';
|
|
|
3
3
|
import { calculateDimensions } from './coordinates';
|
|
4
4
|
export default function parseSheet(content, xml, values, styles, properties, options) {
|
|
5
5
|
var sheet = xml.createDocument(content);
|
|
6
|
-
var cells = parseCells(sheet, xml, values, styles, properties, options);
|
|
6
|
+
var cells = parseCells(sheet, xml, values, styles, properties, options); // `dimensions` defines the spreadsheet area containing all non-empty cells.
|
|
7
|
+
// https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sheetdimension?view=openxml-2.8.1
|
|
8
|
+
|
|
7
9
|
var dimensions = parseDimensions(sheet) || calculateDimensions(cells);
|
|
8
10
|
return {
|
|
9
11
|
cells: cells,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../source/read/parseSheet.js"],"names":["parseCells","parseDimensions","calculateDimensions","parseSheet","content","xml","values","styles","properties","options","sheet","createDocument","cells","dimensions"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,cAAvB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AAEA,SAASC,mBAAT,QAAoC,eAApC;AAEA,eAAe,SAASC,UAAT,CAAoBC,OAApB,EAA6BC,GAA7B,EAAkCC,MAAlC,EAA0CC,MAA1C,EAAkDC,UAAlD,EAA8DC,OAA9D,EAAuE;AACpF,MAAMC,KAAK,GAAGL,GAAG,CAACM,cAAJ,CAAmBP,OAAnB,CAAd;AAEA,MAAMQ,KAAK,GAAGZ,UAAU,CAACU,KAAD,EAAQL,GAAR,EAAaC,MAAb,EAAqBC,MAArB,EAA6BC,UAA7B,EAAyCC,OAAzC,CAAxB;AACA,MAAMI,UAAU,GAAGZ,eAAe,CAACS,KAAD,CAAf,IAA0BR,mBAAmB,CAACU,KAAD,CAAhE;AAEA,SAAO;AAAEA,IAAAA,KAAK,EAALA,KAAF;AAASC,IAAAA,UAAU,EAAVA;AAAT,GAAP;AACD","sourcesContent":["import parseCells from './parseCells'\r\nimport parseDimensions from './parseDimensions'\r\n\r\nimport { calculateDimensions } from './coordinates'\r\n\r\nexport default function parseSheet(content, xml, values, styles, properties, options) {\r\n const sheet = xml.createDocument(content)\r\n\r\n const cells = parseCells(sheet, xml, values, styles, properties, options)\r\n const dimensions = parseDimensions(sheet) || calculateDimensions(cells)\r\n\r\n return { cells, dimensions }\r\n}"],"file":"parseSheet.js"}
|
|
1
|
+
{"version":3,"sources":["../../source/read/parseSheet.js"],"names":["parseCells","parseDimensions","calculateDimensions","parseSheet","content","xml","values","styles","properties","options","sheet","createDocument","cells","dimensions"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,cAAvB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AAEA,SAASC,mBAAT,QAAoC,eAApC;AAEA,eAAe,SAASC,UAAT,CAAoBC,OAApB,EAA6BC,GAA7B,EAAkCC,MAAlC,EAA0CC,MAA1C,EAAkDC,UAAlD,EAA8DC,OAA9D,EAAuE;AACpF,MAAMC,KAAK,GAAGL,GAAG,CAACM,cAAJ,CAAmBP,OAAnB,CAAd;AAEA,MAAMQ,KAAK,GAAGZ,UAAU,CAACU,KAAD,EAAQL,GAAR,EAAaC,MAAb,EAAqBC,MAArB,EAA6BC,UAA7B,EAAyCC,OAAzC,CAAxB,CAHoF,CAKpF;AACA;;AACA,MAAMI,UAAU,GAAGZ,eAAe,CAACS,KAAD,CAAf,IAA0BR,mBAAmB,CAACU,KAAD,CAAhE;AAEA,SAAO;AAAEA,IAAAA,KAAK,EAALA,KAAF;AAASC,IAAAA,UAAU,EAAVA;AAAT,GAAP;AACD","sourcesContent":["import parseCells from './parseCells'\r\nimport parseDimensions from './parseDimensions'\r\n\r\nimport { calculateDimensions } from './coordinates'\r\n\r\nexport default function parseSheet(content, xml, values, styles, properties, options) {\r\n const sheet = xml.createDocument(content)\r\n\r\n const cells = parseCells(sheet, xml, values, styles, properties, options)\r\n\r\n // `dimensions` defines the spreadsheet area containing all non-empty cells.\r\n // https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.sheetdimension?view=openxml-2.8.1\r\n const dimensions = parseDimensions(sheet) || calculateDimensions(cells)\r\n\r\n return { cells, dimensions }\r\n}"],"file":"parseSheet.js"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import readXlsxFile from './readXlsxFileBrowser';
|
|
2
|
+
/**
|
|
3
|
+
* Reads the list of sheet names in an XLSX file in a web browser.
|
|
4
|
+
* @param {file} file - A file being uploaded in the browser.
|
|
5
|
+
* @return {Promise} Resolves to an array of objects of shape `{ name: string }`.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export default function readSheetNames(file) {
|
|
9
|
+
return readXlsxFile(file, {
|
|
10
|
+
getSheets: true
|
|
11
|
+
}).then(function (sheets) {
|
|
12
|
+
return sheets.map(function (sheet) {
|
|
13
|
+
return sheet.name;
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=readSheetNamesBrowser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../source/read/readSheetNamesBrowser.js"],"names":["readXlsxFile","readSheetNames","file","getSheets","then","sheets","map","sheet","name"],"mappings":"AAAA,OAAOA,YAAP,MAAyB,uBAAzB;AAEA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,CAAwBC,IAAxB,EAA8B;AAC5C,SAAOF,YAAY,CAACE,IAAD,EAAO;AAAEC,IAAAA,SAAS,EAAE;AAAb,GAAP,CAAZ,CACLC,IADK,CACA,UAAAC,MAAM;AAAA,WAAIA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,aAAIA,KAAK,CAACC,IAAV;AAAA,KAAhB,CAAJ;AAAA,GADN,CAAP;AAEA","sourcesContent":["import readXlsxFile from './readXlsxFileBrowser'\r\n\r\n/**\r\n * Reads the list of sheet names in an XLSX file in a web browser.\r\n * @param {file} file - A file being uploaded in the browser.\r\n * @return {Promise} Resolves to an array of objects of shape `{ name: string }`.\r\n */\r\nexport default function readSheetNames(file) {\r\n\treturn readXlsxFile(file, { getSheets: true })\r\n\t\t.then(sheets => sheets.map(sheet => sheet.name))\r\n}"],"file":"readSheetNamesBrowser.js"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import readXlsxFile from './readXlsxFileNode';
|
|
2
|
+
/**
|
|
3
|
+
* Reads the list of sheet names in an XLSX file in Node.js.
|
|
4
|
+
* @param {(string|Stream|Buffer)} input - A Node.js readable stream or a `Buffer` or a path to a file.
|
|
5
|
+
* @return {Promise} Resolves to an array of objects of shape `{ name: string }`.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export default function readSheetNames(input) {
|
|
9
|
+
return readXlsxFile(input, {
|
|
10
|
+
getSheets: true
|
|
11
|
+
}).then(function (sheets) {
|
|
12
|
+
return sheets.map(function (sheet) {
|
|
13
|
+
return sheet.name;
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=readSheetNamesNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../source/read/readSheetNamesNode.js"],"names":["readXlsxFile","readSheetNames","input","getSheets","then","sheets","map","sheet","name"],"mappings":"AAAA,OAAOA,YAAP,MAAyB,oBAAzB;AAEA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,CAAwBC,KAAxB,EAA+B;AAC7C,SAAOF,YAAY,CAACE,KAAD,EAAQ;AAAEC,IAAAA,SAAS,EAAE;AAAb,GAAR,CAAZ,CACLC,IADK,CACA,UAAAC,MAAM;AAAA,WAAIA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,aAAIA,KAAK,CAACC,IAAV;AAAA,KAAhB,CAAJ;AAAA,GADN,CAAP;AAEA","sourcesContent":["import readXlsxFile from './readXlsxFileNode'\r\n\r\n/**\r\n * Reads the list of sheet names in an XLSX file in Node.js.\r\n * @param {(string|Stream|Buffer)} input - A Node.js readable stream or a `Buffer` or a path to a file.\r\n * @return {Promise} Resolves to an array of objects of shape `{ name: string }`.\r\n */\r\nexport default function readSheetNames(input) {\r\n\treturn readXlsxFile(input, { getSheets: true })\r\n\t\t.then(sheets => sheets.map(sheet => sheet.name))\r\n}"],"file":"readSheetNamesNode.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../source/read/readSheetNamesNode.test.js"],"names":["path","readSheetNamesNode","describe","it","resolve","__dirname","then","sheetNames","should","deep","equal"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,MAAjB;AAEA,OAAOC,kBAAP,MAA+B,sBAA/B;AAEAC,QAAQ,CAAC,oBAAD,EAAuB,YAAM;AACpCC,EAAAA,EAAE,CAAC,kEAAD,EAAqE,YAAM;AAC5E,WAAOF,kBAAkB,CAACD,IAAI,CAACI,OAAL,CAAaC,SAAb,EAAwB,8CAAxB,CAAD,CAAlB,CAA4FC,IAA5F,CAAiG,UAACC,UAAD,EAAgB;AACvHA,MAAAA,UAAU,CAACC,MAAX,CAAkBC,IAAlB,CAAuBC,KAAvB,CAA6B,CAAC,SAAD,EAAY,SAAZ,CAA7B;AACA,KAFM,CAAP;AAGA,GAJC,CAAF;AAKA,CANO,CAAR","sourcesContent":["import path from 'path'\r\n\r\nimport readSheetNamesNode from './readSheetNamesNode'\r\n\r\ndescribe('readSheetNamesNode', () => {\r\n\tit('should read the list of sheet names in an *.xlsx file in Node.js', () => {\r\n\t\treturn readSheetNamesNode(path.resolve(__dirname, '../../test/spreadsheets/multiple-sheets.xlsx')).then((sheetNames) => {\r\n\t\t\tsheetNames.should.deep.equal(['sheet 1', 'sheet 2'])\r\n\t\t})\r\n\t})\r\n})"],"file":"readSheetNamesNode.test.js"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import readXlsxFile from './readXlsxFileWebWorker';
|
|
2
|
+
/**
|
|
3
|
+
* Reads the list of sheet names in an XLSX file in a Web Worker.
|
|
4
|
+
* @param {file} file - The file.
|
|
5
|
+
* @return {Promise} Resolves to an array of objects of shape `{ name: string }`.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export default function readSheetNames(file) {
|
|
9
|
+
return readXlsxFile(file, {
|
|
10
|
+
getSheets: true
|
|
11
|
+
}).then(function (sheets) {
|
|
12
|
+
return sheets.map(function (sheet) {
|
|
13
|
+
return sheet.name;
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=readSheetNamesWebWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../source/read/readSheetNamesWebWorker.js"],"names":["readXlsxFile","readSheetNames","file","getSheets","then","sheets","map","sheet","name"],"mappings":"AAAA,OAAOA,YAAP,MAAyB,yBAAzB;AAEA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,cAAT,CAAwBC,IAAxB,EAA8B;AAC5C,SAAOF,YAAY,CAACE,IAAD,EAAO;AAAEC,IAAAA,SAAS,EAAE;AAAb,GAAP,CAAZ,CACLC,IADK,CACA,UAAAC,MAAM;AAAA,WAAIA,MAAM,CAACC,GAAP,CAAW,UAAAC,KAAK;AAAA,aAAIA,KAAK,CAACC,IAAV;AAAA,KAAhB,CAAJ;AAAA,GADN,CAAP;AAEA","sourcesContent":["import readXlsxFile from './readXlsxFileWebWorker'\r\n\r\n/**\r\n * Reads the list of sheet names in an XLSX file in a Web Worker.\r\n * @param {file} file - The file.\r\n * @return {Promise} Resolves to an array of objects of shape `{ name: string }`.\r\n */\r\nexport default function readSheetNames(file) {\r\n\treturn readXlsxFile(file, { getSheets: true })\r\n\t\t.then(sheets => sheets.map(sheet => sheet.name))\r\n}"],"file":"readSheetNamesWebWorker.js"}
|
package/node/index.commonjs.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
exports = module.exports = require('../commonjs/read/readXlsxFileNode').default
|
|
2
2
|
exports['default'] = require('../commonjs/read/readXlsxFileNode').default
|
|
3
|
+
exports.readSheetNames = require('../commonjs/read/readSheetNamesNode').default
|
|
3
4
|
exports.parseExcelDate = require('../commonjs/read/parseDate').default
|
|
4
5
|
exports.Integer = require('../commonjs/types/Integer').default
|
|
5
6
|
exports.Email = require('../commonjs/types/Email').default
|
package/node/index.d.ts
CHANGED
|
@@ -12,6 +12,11 @@ import {
|
|
|
12
12
|
Row
|
|
13
13
|
} from '../types.d';
|
|
14
14
|
|
|
15
|
+
export {
|
|
16
|
+
ParsedObjectsResult,
|
|
17
|
+
Row
|
|
18
|
+
} from '../types.d';
|
|
19
|
+
|
|
15
20
|
export function parseExcelDate(excelSerialDate: number) : typeof Date;
|
|
16
21
|
|
|
17
22
|
type Input = Stream | PathLike;
|
|
@@ -20,4 +25,6 @@ export function readXlsxFile<T extends object>(input: Input, options: ParseWithS
|
|
|
20
25
|
export function readXlsxFile<T extends object>(input: Input, options: ParseWithMapOptions) : Promise<ParsedObjectsResult<T>>;
|
|
21
26
|
export function readXlsxFile(input: Input, options?: ParseWithoutSchemaOptions) : Promise<Row[]>;
|
|
22
27
|
|
|
28
|
+
export function readSheetNames(input: Input) : Promise<string[]>;
|
|
29
|
+
|
|
23
30
|
export default readXlsxFile;
|
package/node/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as default } from '../modules/read/readXlsxFileNode'
|
|
2
|
+
export { default as readSheetNames } from '../modules/read/readSheetNamesNode'
|
|
2
3
|
export { default as parseExcelDate } from '../modules/read/parseDate'
|
|
3
4
|
export { default as Integer } from '../modules/types/Integer'
|
|
4
5
|
export { default as Email } from '../modules/types/Email'
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
exports = module.exports = require('../commonjs/read/readXlsxFileWebWorker').default
|
|
2
2
|
exports['default'] = require('../commonjs/read/readXlsxFileWebWorker').default
|
|
3
|
+
exports.readSheetNames = require('../commonjs/read/readSheetNamesWebWorker').default
|
|
3
4
|
exports.parseExcelDate = require('../commonjs/read/parseDate').default
|
|
4
5
|
exports.Integer = require('../commonjs/types/Integer').default
|
|
5
6
|
exports.Email = require('../commonjs/types/Email').default
|
package/web-worker/index.d.ts
CHANGED
|
@@ -1 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
import {
|
|
2
|
+
ParseWithSchemaOptions,
|
|
3
|
+
ParseWithMapOptions,
|
|
4
|
+
ParseWithoutSchemaOptions,
|
|
5
|
+
ParsedObjectsResult,
|
|
6
|
+
Row
|
|
7
|
+
} from '../types.d';
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
ParsedObjectsResult,
|
|
11
|
+
Row
|
|
12
|
+
} from '../types.d';
|
|
13
|
+
|
|
14
|
+
export function parseExcelDate(excelSerialDate: number) : typeof Date;
|
|
15
|
+
|
|
16
|
+
type Input = File;
|
|
17
|
+
|
|
18
|
+
export function readXlsxFile<T extends object>(input: Input, options: ParseWithSchemaOptions<T>) : Promise<ParsedObjectsResult<T>>;
|
|
19
|
+
export function readXlsxFile<T extends object>(input: Input, options: ParseWithMapOptions) : Promise<ParsedObjectsResult<T>>;
|
|
20
|
+
export function readXlsxFile(input: Input, options?: ParseWithoutSchemaOptions) : Promise<Row[]>;
|
|
21
|
+
|
|
22
|
+
export function readSheetNames(input: Input) : Promise<string[]>;
|
|
23
|
+
|
|
24
|
+
export default readXlsxFile;
|
package/web-worker/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as default } from '../modules/read/readXlsxFileWebWorker'
|
|
2
|
+
export { default as readSheetNames } from '../modules/read/readSheetNamesWebWorker'
|
|
2
3
|
export { default as parseExcelDate } from '../modules/read/parseDate'
|
|
3
4
|
export { default as Integer } from '../modules/types/Integer'
|
|
4
5
|
export { default as Email } from '../modules/types/Email'
|