From 6716857483fdcbf0d14a9517a08e8dffcc5df2e7 Mon Sep 17 00:00:00 2001 From: SheetJS Date: Wed, 10 Apr 2013 14:26:54 -0400 Subject: [PATCH] shielding csv parser from unsupported formats --- bits/90_utils.js | 5 +++-- xlsx.js | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/bits/90_utils.js b/bits/90_utils.js index ba05730..ac07e96 100644 --- a/bits/90_utils.js +++ b/bits/90_utils.js @@ -65,7 +65,7 @@ function sheet_to_row_object_array(sheet){ function sheet_to_csv(sheet) { var stringify = function stringify(val) { switch(val.t){ - case 'n': return val.v; + case 'n': return String(val.v); case 's': case 'str': return JSON.stringify(val.v); case 'b': return val.v ? "TRUE" : "FALSE"; case 'e': return ""; /* throw out value in case of error */ @@ -79,7 +79,8 @@ function sheet_to_csv(sheet) { var row = []; for(var C = r.s.c; C <= r.e.c; ++C) { var val = sheet[utils.encode_cell({c:C,r:R})]; - row.push(val ? stringify(val) : ""); + console.error(val); + row.push(val ? stringify(val).replace(/\\r\\n/g,"\n").replace(/\\t/g,"\t").replace(/\\\\/g,"\\") : ""); } out += row.join(",") + "\n"; } diff --git a/xlsx.js b/xlsx.js index f1d07d5..2a42f89 100644 --- a/xlsx.js +++ b/xlsx.js @@ -892,7 +892,7 @@ function sheet_to_row_object_array(sheet){ function sheet_to_csv(sheet) { var stringify = function stringify(val) { switch(val.t){ - case 'n': return val.v; + case 'n': return String(val.v); case 's': case 'str': return JSON.stringify(val.v); case 'b': return val.v ? "TRUE" : "FALSE"; case 'e': return ""; /* throw out value in case of error */ @@ -906,6 +906,7 @@ function sheet_to_csv(sheet) { var row = []; for(var C = r.s.c; C <= r.e.c; ++C) { var val = sheet[utils.encode_cell({c:C,r:R})]; + console.error(val); row.push(val ? stringify(val).replace(/\\r\\n/g,"\n").replace(/\\t/g,"\t").replace(/\\\\/g,"\\") : ""); } out += row.join(",") + "\n";