| 
									
										
										
										
											2017-05-15 15:48:44 +00:00
										 |  |  | import XLSX = require('xlsx'); | 
					
						
							| 
									
										
										
										
											2015-06-03 13:34:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-15 15:48:44 +00:00
										 |  |  | const options: XLSX.ParsingOptions = { | 
					
						
							| 
									
										
										
										
											2017-05-12 21:46:39 +00:00
										 |  |  |     cellDates: true | 
					
						
							| 
									
										
										
										
											2015-06-03 13:34:42 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-16 17:45:35 +00:00
										 |  |  | const workbook: XLSX.WorkBook = XLSX.readFile('test.xlsx', options); | 
					
						
							|  |  |  | const otherworkbook: XLSX.WorkBook = XLSX.readFile('test.xlsx', {type: 'file'}); | 
					
						
							| 
									
										
										
										
											2015-06-03 13:34:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-16 17:45:35 +00:00
										 |  |  | const author: string = workbook.Props.Author; | 
					
						
							| 
									
										
										
										
											2015-06-03 13:34:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-12 21:46:46 +00:00
										 |  |  | const firstsheet: string = workbook.SheetNames[0]; | 
					
						
							| 
									
										
										
										
											2017-05-16 17:45:35 +00:00
										 |  |  | const firstworksheet: XLSX.WorkSheet = workbook.Sheets[firstsheet]; | 
					
						
							|  |  |  | const WB1A1: XLSX.CellObject = (firstworksheet["A1"]); | 
					
						
							| 
									
										
										
										
											2015-06-03 13:34:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-13 23:37:23 +00:00
										 |  |  | interface Tester { | 
					
						
							| 
									
										
										
										
											2017-05-12 21:46:39 +00:00
										 |  |  |     name: string; | 
					
						
							| 
									
										
										
										
											2015-06-03 13:34:42 +00:00
										 |  |  |     age: number; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-15 15:48:44 +00:00
										 |  |  | const jsonvalues: Tester[] = XLSX.utils.sheet_to_json<Tester>(firstworksheet); | 
					
						
							| 
									
										
										
										
											2017-05-16 17:45:35 +00:00
										 |  |  | const csv: string = XLSX.utils.sheet_to_csv(firstworksheet); | 
					
						
							| 
									
										
										
										
											2017-12-01 05:48:10 +00:00
										 |  |  | const txt: string = XLSX.utils.sheet_to_txt(firstworksheet); | 
					
						
							| 
									
										
										
										
											2017-12-04 04:41:41 +00:00
										 |  |  | const dif: string = XLSX.utils.sheet_to_dif(firstworksheet); | 
					
						
							|  |  |  | const slk: string = XLSX.utils.sheet_to_slk(firstworksheet); | 
					
						
							|  |  |  | const eth: string = XLSX.utils.sheet_to_eth(firstworksheet); | 
					
						
							| 
									
										
										
										
											2017-05-16 17:45:35 +00:00
										 |  |  | const formulae: string[] = XLSX.utils.sheet_to_formulae(firstworksheet); | 
					
						
							|  |  |  | const aoa: any[][] = XLSX.utils.sheet_to_json<any[]>(firstworksheet, {raw:true, header:1}); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const aoa2: XLSX.WorkSheet = XLSX.utils.aoa_to_sheet<number>([ | 
					
						
							| 
									
										
										
										
											2018-03-13 02:51:54 +00:00
										 |  |  |     [1,2,3,4,5,6,7], | 
					
						
							|  |  |  |     [2,3,4,5,6,7,8] | 
					
						
							| 
									
										
										
										
											2017-05-16 17:45:35 +00:00
										 |  |  | ]); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const js2ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet<Tester>([ | 
					
						
							| 
									
										
										
										
											2018-03-13 02:51:54 +00:00
										 |  |  |     {name:"Sheet", age: 12}, | 
					
						
							|  |  |  |     {name:"JS", age: 24} | 
					
						
							| 
									
										
										
										
											2017-05-16 17:45:35 +00:00
										 |  |  | ]); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const WBProps = workbook.Workbook; | 
					
						
							|  |  |  | const WBSheets = WBProps.Sheets; | 
					
						
							|  |  |  | const WBSheet0 = WBSheets[0]; | 
					
						
							|  |  |  | console.log(WBSheet0.Hidden); | 
					
						
							| 
									
										
										
										
											2017-07-05 22:27:54 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-21 07:01:34 +00:00
										 |  |  | const fmt14 = XLSX.SSF.get_table()[14]; | 
					
						
							|  |  |  | XLSX.SSF.load('"This is a custom format "0.000'); | 
					
						
							| 
									
										
										
										
											2017-10-17 00:14:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | const newwb = XLSX.utils.book_new(); | 
					
						
							|  |  |  | XLSX.utils.book_append_sheet(newwb, aoa2, "AOA"); | 
					
						
							|  |  |  | XLSX.utils.book_append_sheet(newwb, js2ws, "JSON"); | 
					
						
							|  |  |  | const bstrxlsx: string = XLSX.write(newwb, {type: "binary", bookType: "xlsx" }); | 
					
						
							| 
									
										
										
										
											2018-02-14 20:06:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-07 13:49:25 +00:00
										 |  |  | const wb_1: XLSX.WorkBook = XLSX.read(XLSX.write(newwb, {type: "base64", bookType: "xlsx" }), {type: "base64"}); | 
					
						
							|  |  |  | const wb_2: XLSX.WorkBook = XLSX.read(XLSX.write(newwb, {type: "binary", bookType: "xlsx" }), {type: "binary"}); | 
					
						
							|  |  |  | const wb_3: XLSX.WorkBook = XLSX.read(XLSX.write(newwb, {type: "buffer", bookType: "xlsx" }), {type: "buffer"}); | 
					
						
							|  |  |  | const wb_4: XLSX.WorkBook = XLSX.read(XLSX.write(newwb, {type: "file", bookType: "xlsx" }), {type: "file"}); | 
					
						
							|  |  |  | const wb_5: XLSX.WorkBook = XLSX.read(XLSX.write(newwb, {type: "array", bookType: "xlsx" }), {type: "array"}); | 
					
						
							|  |  |  | const wb_6: XLSX.WorkBook = XLSX.read(XLSX.write(newwb, {type: "string", bookType: "xlsx" }), {type: "string"}); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-03-13 02:51:54 +00:00
										 |  |  | function get_header_row(sheet: XLSX.WorkSheet) { | 
					
						
							| 
									
										
										
										
											2018-05-05 06:34:37 +00:00
										 |  |  |     const headers: string[] = []; | 
					
						
							| 
									
										
										
										
											2018-03-13 02:51:54 +00:00
										 |  |  |     const range = XLSX.utils.decode_range(sheet['!ref']); | 
					
						
							| 
									
										
										
										
											2018-05-05 06:34:37 +00:00
										 |  |  |     const R: number = range.s.r; | 
					
						
							|  |  |  |     for(let C = range.s.c; C <= range.e.c; ++C) { | 
					
						
							| 
									
										
										
										
											2018-03-13 02:51:54 +00:00
										 |  |  |         const cell: XLSX.CellObject = sheet[XLSX.utils.encode_cell({c:C, r:R})]; | 
					
						
							|  |  |  |         let hdr = "UNKNOWN " + C; | 
					
						
							|  |  |  |         if(cell && cell.t) hdr = XLSX.utils.format_cell(cell); | 
					
						
							|  |  |  |         headers.push(hdr); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     return headers; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const headers: string[] = get_header_row(aoa2); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-14 20:06:35 +00:00
										 |  |  | const CFB = XLSX.CFB; | 
					
						
							|  |  |  | const vbawb = XLSX.readFile("test.xlsm", {bookVBA:true}); | 
					
						
							|  |  |  | if(vbawb.vbaraw) { | 
					
						
							| 
									
										
										
										
											2022-02-12 06:31:47 +00:00
										 |  |  |     const cfb: any /* XLSX.CFB.CFB$Container */ = CFB.read(vbawb.vbaraw, {type: "buffer"}); | 
					
						
							| 
									
										
										
										
											2018-02-14 20:06:35 +00:00
										 |  |  | } |