From 23b12b23372be3834230580a7c1f3c2d3d8a493d Mon Sep 17 00:00:00 2001 From: Dmitry Fedotov Date: Mon, 28 Dec 2020 02:24:06 +0100 Subject: [PATCH 1/2] inlineStr cell type support #1575 --- lib/stream/xlsx/worksheet-reader.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/stream/xlsx/worksheet-reader.js b/lib/stream/xlsx/worksheet-reader.js index ade13f426..8cecd5c17 100644 --- a/lib/stream/xlsx/worksheet-reader.js +++ b/lib/stream/xlsx/worksheet-reader.js @@ -214,6 +214,12 @@ class WorksheetReader extends EventEmitter { current = c.v = {text: ''}; } break; + case 'is': + case 't': + if (c) { + current = c.v = {text: ''}; + } + break; case 'mergeCell': break; default: @@ -307,6 +313,7 @@ class WorksheetReader extends EventEmitter { break; } + case 'inlineStr': case 'str': cell.value = utils.xmlDecode(c.v.text); break; From 661659330b9b2be47fcda305bba49e6dfed1636a Mon Sep 17 00:00:00 2001 From: Dmitry Fedotov Date: Fri, 8 Jan 2021 20:26:50 +0100 Subject: [PATCH 2/2] Added integration test for #1575 --- spec/integration/data/test-issue-1575.xlsx | Bin 0 -> 4776 bytes spec/integration/pr/test-pr-1576.spec.js | 23 +++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 spec/integration/data/test-issue-1575.xlsx create mode 100644 spec/integration/pr/test-pr-1576.spec.js diff --git a/spec/integration/data/test-issue-1575.xlsx b/spec/integration/data/test-issue-1575.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..8a8caa24aa96be0b811238ba4e3e3417100b0aa0 GIT binary patch literal 4776 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 a2s-sQ6kx1RK}qyZLwL0i=<@Yp%>M%wEuv)r literal 0 HcmV?d00001 diff --git a/spec/integration/pr/test-pr-1576.spec.js b/spec/integration/pr/test-pr-1576.spec.js new file mode 100644 index 000000000..bd575be4c --- /dev/null +++ b/spec/integration/pr/test-pr-1576.spec.js @@ -0,0 +1,23 @@ +const ExcelJS = verquire('exceljs'); + +describe('github issues', () => { + describe('pull request 1576 - inlineStr cell type support', () => { + it('Reading test-issue-1575.xlsx', () => { + const wb = new ExcelJS.Workbook(); + return wb.xlsx + .readFile('./spec/integration/data/test-issue-1575.xlsx') + .then(() => { + const ws = wb.getWorksheet('Sheet1'); + expect(ws.getCell('A1').value).to.equal('A'); + expect(ws.getCell('B1').value).to.equal('B'); + expect(ws.getCell('C1').value).to.equal('C'); + expect(ws.getCell('A2').value).to.equal('1.0'); + expect(ws.getCell('B2').value).to.equal('2.0'); + expect(ws.getCell('C2').value).to.equal('3.0'); + expect(ws.getCell('A3').value).to.equal('4.0'); + expect(ws.getCell('B3').value).to.equal('5.0'); + expect(ws.getCell('C3').value).to.equal('6.0'); + }); + }); + }); +});