forked from sheetjs/sheetjs
		
	Add option to force quotes around values in when exporting to csv (#2009)
This commit is contained in:
		
							parent
							
								
									c615f85034
								
							
						
					
					
						commit
						486f35b4cc
					
				
							
								
								
									
										17
									
								
								README.md
									
									
									
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										17
									
								
								README.md
									
									
									
									
									
								
							| @ -2140,14 +2140,15 @@ For the example sheet: | ||||
| As an alternative to the `writeFile` CSV type, `XLSX.utils.sheet_to_csv` also | ||||
| produces CSV output.  The function takes an options argument: | ||||
| 
 | ||||
| | Option Name |  Default | Description                                         | | ||||
| | :---------- | :------: | :-------------------------------------------------- | | ||||
| |`FS`         |  `","`   | "Field Separator"  delimiter between fields         | | ||||
| |`RS`         |  `"\n"`  | "Record Separator" delimiter between rows           | | ||||
| |`dateNF`     |  FMT 14  | Use specified date format in string output          | | ||||
| |`strip`      |  false   | Remove trailing field separators in each record **  | | ||||
| |`blankrows`  |  true    | Include blank lines in the CSV output               | | ||||
| |`skipHidden` |  false   | Skips hidden rows/columns in the CSV output         | | ||||
| | Option Name  |  Default | Description                                         | | ||||
| | :----------- | :------: | :-------------------------------------------------- | | ||||
| |`FS`          |  `","`   | "Field Separator"  delimiter between fields         | | ||||
| |`RS`          |  `"\n"`  | "Record Separator" delimiter between rows           | | ||||
| |`dateNF`      |  FMT 14  | Use specified date format in string output          | | ||||
| |`strip`       |  false   | Remove trailing field separators in each record **  | | ||||
| |`blankrows`   |  true    | Include blank lines in the CSV output               | | ||||
| |`skipHidden`  |  false   | Skips hidden rows/columns in the CSV output         | | ||||
| |`forceQuotes` |  false   | Force quotes around fields                          | | ||||
| 
 | ||||
| - `strip` will remove trailing commas from each line under default `FS/RS` | ||||
| - `blankrows` must be set to `false` to skip blank lines. | ||||
|  | ||||
| @ -99,7 +99,7 @@ function make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Arr | ||||
| 		else if(val.v != null) { | ||||
| 			isempty = false; | ||||
| 			txt = ''+format_cell(val, null, o); | ||||
| 			for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; } | ||||
| 			for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; } | ||||
| 			if(txt == "ID") txt = '"ID"'; | ||||
| 		} else if(val.f != null && !val.F) { | ||||
| 			isempty = false; | ||||
|  | ||||
							
								
								
									
										3
									
								
								types/index.d.ts
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										3
									
								
								types/index.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -623,6 +623,9 @@ export interface Sheet2CSVOpts extends DateNFOption { | ||||
| 
 | ||||
|     /** Skip hidden rows and columns in the CSV output */ | ||||
|     skipHidden?: boolean; | ||||
| 
 | ||||
|     /** Force quotes around fields */ | ||||
|     forceQuotes?: boolean; | ||||
| } | ||||
| 
 | ||||
| export interface OriginOption { | ||||
|  | ||||
| @ -21213,7 +21213,7 @@ function make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Arr | ||||
| 		else if(val.v != null) { | ||||
| 			isempty = false; | ||||
| 			txt = ''+format_cell(val, null, o); | ||||
| 			for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; } | ||||
| 			for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; } | ||||
| 			if(txt == "ID") txt = '"ID"'; | ||||
| 		} else if(val.f != null && !val.F) { | ||||
| 			isempty = false; | ||||
|  | ||||
							
								
								
									
										2
									
								
								xlsx.js
									
									
									
										generated
									
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										2
									
								
								xlsx.js
									
									
									
										generated
									
									
									
								
							| @ -21082,7 +21082,7 @@ function make_csv_row(sheet, r, R, cols, fs, rs, FS, o) { | ||||
| 		else if(val.v != null) { | ||||
| 			isempty = false; | ||||
| 			txt = ''+format_cell(val, null, o); | ||||
| 			for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; } | ||||
| 			for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; } | ||||
| 			if(txt == "ID") txt = '"ID"'; | ||||
| 		} else if(val.f != null && !val.F) { | ||||
| 			isempty = false; | ||||
|  | ||||
| @ -8396,7 +8396,7 @@ function make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Arr | ||||
| 		else if(val.v != null) { | ||||
| 			isempty = false; | ||||
| 			txt = ''+format_cell(val, null, o); | ||||
| 			for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; } | ||||
| 			for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; } | ||||
| 			if(txt == "ID") txt = '"ID"'; | ||||
| 		} else if(val.f != null && !val.F) { | ||||
| 			isempty = false; | ||||
|  | ||||
| @ -8292,7 +8292,7 @@ function make_csv_row(sheet, r, R, cols, fs, rs, FS, o) { | ||||
| 		else if(val.v != null) { | ||||
| 			isempty = false; | ||||
| 			txt = ''+format_cell(val, null, o); | ||||
| 			for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; } | ||||
| 			for(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = "\"" + txt.replace(qreg, '""') + "\""; break; } | ||||
| 			if(txt == "ID") txt = '"ID"'; | ||||
| 		} else if(val.f != null && !val.F) { | ||||
| 			isempty = false; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user