forked from sheetjs/sheetjs
		
	Lightning Web Component support [ci skip]
This commit is contained in:
		
							parent
							
								
									cb61a67d17
								
							
						
					
					
						commit
						e110fe8952
					
				| @ -3,20 +3,44 @@ var RTF = (function() { | ||||
| 		switch(opts.type) { | ||||
| 			case 'base64': return rtf_to_sheet_str(Base64.decode(d), opts); | ||||
| 			case 'binary': return rtf_to_sheet_str(d, opts); | ||||
| 			case 'buffer': return rtf_to_sheet_str(d.toString('binary'), opts); | ||||
| 			case 'buffer': return rtf_to_sheet_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts); | ||||
| 			case 'array':  return rtf_to_sheet_str(cc2str(d), opts); | ||||
| 		} | ||||
| 		throw new Error("Unrecognized type " + opts.type); | ||||
| 	} | ||||
| 
 | ||||
| 	/* TODO: this is a stub */ | ||||
| 	function rtf_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ { | ||||
| 		var o = opts || {}; | ||||
| 		var ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/); | ||||
| 		var range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:0}}/*:any*/); | ||||
| 
 | ||||
| 		// TODO: parse
 | ||||
| 		if(!str.match(/\\trowd/)) throw new Error("RTF missing table"); | ||||
| 
 | ||||
| 		var rows = str.match(/\\trowd.*?\\row\b/g); | ||||
| 		if(!rows.length) throw new Error("RTF missing table"); | ||||
| 		var range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:rows.length - 1}}/*:any*/); | ||||
| 		rows.forEach(function(rowtf, R) { | ||||
| 			if(Array.isArray(ws)) ws[R] = []; | ||||
| 			var rtfre = /\\\w+\b/g; | ||||
| 			var last_index = 0; | ||||
| 			var res; | ||||
| 			var C = -1; | ||||
| 			while((res = rtfre.exec(rowtf))) { | ||||
| 				switch(res[0]) { | ||||
| 					case "\\cell": | ||||
| 						var data = rowtf.slice(last_index, rtfre.lastIndex - res[0].length); | ||||
| 						if(data[0] == " ") data = data.slice(1); | ||||
| 						++C; | ||||
| 						if(data.length) { | ||||
| 							// TODO: value parsing, including codepage adjustments
 | ||||
| 							var cell = {v: data, t:"s"}; | ||||
| 							if(Array.isArray(ws)) ws[R][C] = cell; | ||||
| 							else ws[encode_cell({r:R, c:C})] = cell; | ||||
| 						} | ||||
| 						break; | ||||
| 				} | ||||
| 				last_index = rtfre.lastIndex; | ||||
| 			} | ||||
| 			if(C > range.e.c) range.e.c = C; | ||||
| 		}); | ||||
| 		ws['!ref'] = encode_range(range); | ||||
| 		return ws; | ||||
| 	} | ||||
|  | ||||
| @ -242,7 +242,6 @@ var write_content_ods/*:{(wb:any, opts:any):string}*/ = (function() { | ||||
| function write_ods(wb/*:any*/, opts/*:any*/) { | ||||
| 	if(opts.bookType == "fods") return write_content_ods(wb, opts); | ||||
| 
 | ||||
| 	/*:: if(!jszip) throw new Error("JSZip is not available"); */ | ||||
| 	var zip = zip_new(); | ||||
| 	var f = ""; | ||||
| 
 | ||||
|  | ||||
| @ -18,7 +18,6 @@ function write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ { | ||||
| 	var vbafmt = VBAFMTS.indexOf(opts.bookType) > -1; | ||||
| 	var ct = new_ct(); | ||||
| 	fix_write_opts(opts = opts || {}); | ||||
| 	/*:: if(!jszip) throw new Error("JSZip is not available"); */ | ||||
| 	var zip = zip_new(); | ||||
| 	var f = "", rId = 0; | ||||
| 
 | ||||
|  | ||||
| @ -16,7 +16,6 @@ function read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ { | ||||
| } | ||||
| 
 | ||||
| function read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ { | ||||
| 	/*:: if(!jszip) throw new Error("JSZip is not available"); */ | ||||
| 	var zip, d = data; | ||||
| 	var o = opts||{}; | ||||
| 	if(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? "buffer" : "base64"; | ||||
|  | ||||
| @ -5,5 +5,7 @@ if(typeof exports !== 'undefined') make_xlsx_lib(exports); | ||||
| else if(typeof module !== 'undefined' && module.exports) make_xlsx_lib(module.exports); | ||||
| else if(typeof define === 'function' && define.amd) define('xlsx-dist', function() { if(!XLSX.version) make_xlsx_lib(XLSX); return XLSX; }); | ||||
| else make_xlsx_lib(XLSX); | ||||
| /* NOTE: the following extra line is needed for "Lightning Locker Service" */ | ||||
| if(typeof window !== 'undefined' && !window.XLSX) window.XLSX = XLSX; | ||||
| /*exported XLS, ODS */ | ||||
| var XLS = XLSX, ODS = XLSX; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user