forked from sheetjs/sheetjs
		
	
		
			
	
	
		
			151 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			151 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | var XLSX = require('./'); | ||
|  | var Workbook = require('../workbook'); | ||
|  | 
 | ||
|  | ///http://daveaddey.com/?p=40
 | ||
|  | function JSDateToExcelDate(inDate) { | ||
|  |   return 25569.0 + ((inDate.getTime() - (inDate.getTimezoneOffset() * 60 * 1000)) / (1000 * 60 * 60 * 24)); | ||
|  | } | ||
|  | 
 | ||
|  | var workbook = new Workbook(XLSX) | ||
|  |     .addRowsToSheet("Main", [ | ||
|  |       [ | ||
|  |         { | ||
|  |           v: "This is a submerged cell", | ||
|  |           s:{ | ||
|  |             border: { | ||
|  |               left: {style: 'thick', color: {auto: 1}}, | ||
|  |               top: {style: 'thick', color: {auto: 1}}, | ||
|  |               bottom: {style: 'thick', color: {auto: 1}} | ||
|  |             } | ||
|  |           } | ||
|  |         }, | ||
|  |         { | ||
|  |           v: "Pirate ship", | ||
|  |           s:{ | ||
|  |             border: { | ||
|  |               top: {style: 'thick', color: {auto: 1}}, | ||
|  |               bottom: {style: 'thick', color: {auto: 1}} | ||
|  |             } | ||
|  |           } | ||
|  |         }, | ||
|  |         { | ||
|  |           v: "Sunken treasure", | ||
|  |           s:{ | ||
|  |             border: { | ||
|  |               right: {style: 'thick', color: {auto: 1}}, | ||
|  |               top: {style: 'thick', color: {auto: 1}}, | ||
|  |               bottom: {style: 'thick', color: {auto: 1}} | ||
|  |             } | ||
|  |           } | ||
|  |         }], | ||
|  |       [ | ||
|  |         {"v": "Blank"}, | ||
|  |         {"v": "Red", "s": {fill: { fgColor: { rgb: "FFFF0000"}}}}, | ||
|  |         {"v": "Green", "s": {fill: { fgColor: { rgb: "FF00FF00"}}}}, | ||
|  |         {"v": "Blue", "s": {fill: { fgColor: { rgb: "FF0000FF"}}}} | ||
|  |       ], | ||
|  |       [ | ||
|  |         {"v": "Default"}, | ||
|  |         {"v": "Arial", "s": {font: {name: "Arial", sz: 24, color: {theme: "5"}}}}, | ||
|  |         {"v": "Times New Roman", "s": {font: {name: "Times New Roman", sz: 16, color: {rgb: "FF2222FF"}}}}, | ||
|  |         {"v": "Courier New", "s": {font: {name: "Courier New", sz: 14}}} | ||
|  |       ], | ||
|  |       [ | ||
|  |         0.618033989, | ||
|  |         {"v": 0.618033989}, | ||
|  |         {"v": 0.618033989, "t": "n"}, | ||
|  |         {"v": 0.618033989, "t": "n", "s": { "numFmt": "0.00%"}}, | ||
|  |         {"v": 0.618033989, "t": "n", "s": { "numFmt": "0.00%"}, fill: { fgColor: { rgb: "FFFFCC00"}}} | ||
|  |       ], | ||
|  |       [ | ||
|  |         {"v": 0.618033989, "t": "n", "s": { "numFmt": "0%"}}, | ||
|  |         {"v": 0.618033989, "t": "n", "s": { "numFmt": "0.0%"}}, | ||
|  |         {"v": 0.618033989, "t": "n", "s": { "numFmt": "0.00%"}}, | ||
|  |         {"v": 0.618033989, "t": "n", "s": { "numFmt": "0.000%"}}, | ||
|  |         {"v": 0.618033989, "t": "n", "s": { "numFmt": "0.0000%"}}, | ||
|  |         {"v": 0, "t": "n", "s": { numFmt: "0.00%;\\(0.00%\\);\\-;@"}, fill: { fgColor: { rgb: "FFFFCC00"}}} | ||
|  |       ], | ||
|  |       [ | ||
|  |         {v: (new Date()).toLocaleString()}, | ||
|  |         {v: JSDateToExcelDate(new Date()), t: 'd'}, | ||
|  |         {v: JSDateToExcelDate(new Date()),  s: {numFmt: 'd-mmm-yy'}} | ||
|  |       ] | ||
|  |       , | ||
|  |       [ | ||
|  |         {v: "left", "s": { alignment: {horizontal: "left"}}}, | ||
|  |         {v: "left", "s": { alignment: {horizontal: "center"}}}, | ||
|  |         {v: "left", "s": { alignment: {horizontal: "right"}}} | ||
|  |       ],[ | ||
|  |         {v: "vertical", "s": { alignment: {vertical: "top"}}}, | ||
|  |         {v: "vertical", "s": { alignment: {vertical: "center"}}}, | ||
|  |         {v: "vertical", "s": { alignment: {vertical: "bottom"}}} | ||
|  |       ],[ | ||
|  |         {v: "indent", "s": { alignment: {indent: "1"}}}, | ||
|  |         {v: "indent", "s": { alignment: {indent: "2"}}}, | ||
|  |         {v: "indent", "s": { alignment: {indent: "3"}}} | ||
|  |       ], | ||
|  |         [{ | ||
|  |           v: "In publishing and graphic design, lorem ipsum is a filler text commonly used to demonstrate the graphic elements of a document or visual presentation. ", | ||
|  |           s: { alignment: { wrapText: 1, alignment: 'right', vertical: 'center', indent: 1}} | ||
|  |          } | ||
|  |         ], | ||
|  |         [ | ||
|  |           {v: 41684.35264774306, s: {numFmt: 'm/d/yy'}}, | ||
|  |           {v: 41684.35264774306, s: {numFmt: 'd-mmm-yy'}}, | ||
|  |           {v: 41684.35264774306, s: {numFmt: 'h:mm:ss AM/PM'}}, | ||
|  |           {v: JSDateToExcelDate(new Date()),  s: {numFmt: 'm/d/yy'}}, | ||
|  |           {v: 42065.02247239584,  s: {numFmt: 'm/d/yy'}}, | ||
|  |           {v: JSDateToExcelDate(new Date()),  s: {numFmt: 'm/d/yy h:mm:ss AM/PM'}} | ||
|  |         ], | ||
|  |         [ | ||
|  |           {v: "Apple", s: {border: {top: { style: "thin"}, left: { style: "thin"}, right: { style: "thin"}, bottom: { style: "thin"}}}}, | ||
|  |           {}, | ||
|  |           { | ||
|  |             v: "Apple", | ||
|  |             s: { | ||
|  |               border: { | ||
|  |                 diagonalUp: 1, diagonalDown: 1, | ||
|  |                 top: { style: "dashed", color: {auto: 1}}, | ||
|  |                 right: { style: "medium", color: {theme: "5"}}, | ||
|  |                 bottom: { style: "hair", color: {theme: 5, tint: "-0.3"}}, | ||
|  |                 left: { style: "thin", color: {rgb: "FFFFAA00"}}, | ||
|  |                 diagonal: {style: "dotted", color: {auto: 1}} | ||
|  |               } | ||
|  |             } | ||
|  |           }, | ||
|  |           {}, | ||
|  |           { | ||
|  |               v: "Pear", | ||
|  |               s: { | ||
|  |                 border: { | ||
|  |                   diagonalUp: 1, diagonalDown: 1, | ||
|  |                   top: { style: "dashed", color: {auto: 1}}, | ||
|  |                   right: { style: "dotted", color: {theme: "5"}}, | ||
|  |                   bottom: { style: "mediumDashed", color: {theme: 5, tint: "-0.3"}}, | ||
|  |                   left: { style: "double", color: {rgb: "FFFFAA00"}}, | ||
|  |                   diagonal: {style: "hair", color: {auto: 1}} | ||
|  |                 } | ||
|  |             } | ||
|  |           } | ||
|  |         ], | ||
|  |         [ | ||
|  |           {v: "Up 90", s: {alignment: {textRotation: 90}}}, | ||
|  |           {v: "Up 45", s: {alignment: {textRotation: 45}}}, | ||
|  |           {v: "Horizontal", s: {alignment: {textRotation: 0}}}, | ||
|  |           {v: "Down 45", s: {alignment: {textRotation: 135}}}, | ||
|  |           {v: "Down 90", s: {alignment: {textRotation: 180}}}, | ||
|  |           {v: "Vertical", s: {alignment: {textRotation: 255}}} | ||
|  |         ], | ||
|  |       [ | ||
|  |         {v: "Font color test", s: { font: {fgColor: {rgb: "FFC6EFCE"}}}} | ||
|  |       ] | ||
|  |     ]).mergeCells("Main", { | ||
|  |       "s": {"c": 0, "r": 0 }, | ||
|  |       "e": {"c": 2, "r": 0 } | ||
|  |     }).finalize(); | ||
|  | 
 | ||
|  | 
 | ||
|  | var OUTFILE = '/tmp/wb.xlsx'; | ||
|  | XLSX.writeFile(workbook, OUTFILE, {defaultCellStyle: { font: { name: "Verdana", sz: 11, color: "FF00FF88"}, fill: {fgColor: {rgb: "FFFFAA00"}}}}); | ||
|  | console.log("Results written to " + OUTFILE) |