diff --git a/lib/csv/csv.js b/lib/csv/csv.js
index 4a7aa5413..d89f4adbe 100644
--- a/lib/csv/csv.js
+++ b/lib/csv/csv.js
@@ -60,7 +60,7 @@ CSV.prototype = {
return null;
}
const datumNumber = Number(datum);
- if (!Number.isNaN(datumNumber)) {
+ if (!Number.isNaN(datumNumber) && datumNumber !== Infinity) {
return datumNumber;
}
const dt = dayjs(datum, dateFormats, true);
diff --git a/spec/unit/xlsx/xform/sheet/cell-xform.spec.js b/spec/unit/xlsx/xform/sheet/cell-xform.spec.js
index 38ff53e5f..18fb79ebb 100644
--- a/spec/unit/xlsx/xform/sheet/cell-xform.spec.js
+++ b/spec/unit/xlsx/xform/sheet/cell-xform.spec.js
@@ -99,6 +99,38 @@ const expectations = [
tests: ['prepare', 'render', 'renderIn', 'parse', 'reconcile'],
options: {hyperlinkMap: fakeHyperlinkMap, styles: fakeStyles},
},
+ {
+ title: 'String with Invalid Number',
+ create() {
+ return new CellXform();
+ },
+ initialModel: {
+ address: 'A1',
+ type: Enums.ValueType.String,
+ value: '6E1000',
+ },
+ preparedModel: {
+ address: 'A1',
+ type: Enums.ValueType.String,
+ value: '6E1000',
+ },
+ xml: '
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: