forked from sheetjs/sheetjs
		
	
		
			
	
	
		
			266 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			266 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								/* [MS-OLEPS] 2.2 PropertyType */
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									var VT_EMPTY    = 0x0000;
							 | 
						||
| 
								 | 
							
									var VT_NULL     = 0x0001;
							 | 
						||
| 
								 | 
							
									var VT_I2       = 0x0002;
							 | 
						||
| 
								 | 
							
									var VT_I4       = 0x0003;
							 | 
						||
| 
								 | 
							
									var VT_R4       = 0x0004;
							 | 
						||
| 
								 | 
							
									var VT_R8       = 0x0005;
							 | 
						||
| 
								 | 
							
									var VT_CY       = 0x0006;
							 | 
						||
| 
								 | 
							
									var VT_DATE     = 0x0007;
							 | 
						||
| 
								 | 
							
									var VT_BSTR     = 0x0008;
							 | 
						||
| 
								 | 
							
									var VT_ERROR    = 0x000A;
							 | 
						||
| 
								 | 
							
									var VT_BOOL     = 0x000B;
							 | 
						||
| 
								 | 
							
									var VT_VARIANT  = 0x000C;
							 | 
						||
| 
								 | 
							
									var VT_DECIMAL  = 0x000E;
							 | 
						||
| 
								 | 
							
									var VT_I1       = 0x0010;
							 | 
						||
| 
								 | 
							
									var VT_UI1      = 0x0011;
							 | 
						||
| 
								 | 
							
									var VT_UI2      = 0x0012;
							 | 
						||
| 
								 | 
							
									var VT_UI4      = 0x0013;
							 | 
						||
| 
								 | 
							
									var VT_I8       = 0x0014;
							 | 
						||
| 
								 | 
							
									var VT_UI8      = 0x0015;
							 | 
						||
| 
								 | 
							
									var VT_INT      = 0x0016;
							 | 
						||
| 
								 | 
							
									var VT_UINT     = 0x0017;
							 | 
						||
| 
								 | 
							
									var VT_LPSTR    = 0x001E;
							 | 
						||
| 
								 | 
							
									var VT_LPWSTR   = 0x001F;
							 | 
						||
| 
								 | 
							
									var VT_FILETIME = 0x0040;
							 | 
						||
| 
								 | 
							
									var VT_BLOB     = 0x0041;
							 | 
						||
| 
								 | 
							
									var VT_STREAM   = 0x0042;
							 | 
						||
| 
								 | 
							
									var VT_STORAGE  = 0x0043;
							 | 
						||
| 
								 | 
							
									var VT_STREAMED_Object  = 0x0044;
							 | 
						||
| 
								 | 
							
									var VT_STORED_Object    = 0x0045;
							 | 
						||
| 
								 | 
							
									var VT_BLOB_Object      = 0x0046;
							 | 
						||
| 
								 | 
							
									var VT_CF       = 0x0047;
							 | 
						||
| 
								 | 
							
									var VT_CLSID    = 0x0048;
							 | 
						||
| 
								 | 
							
									var VT_VERSIONED_STREAM = 0x0049;
							 | 
						||
| 
								 | 
							
									var VT_VECTOR   = 0x1000;
							 | 
						||
| 
								 | 
							
									var VT_ARRAY    = 0x2000;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									var VT_STRING   = 0x0050; // 2.3.3.1.11 VtString
							 | 
						||
| 
								 | 
							
									var VT_USTR     = 0x0051; // 2.3.3.1.12 VtUnalignedString
							 | 
						||
| 
								 | 
							
									var VT_CUSTOM   = [VT_STRING, VT_USTR];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */
							 | 
						||
| 
								 | 
							
								var DocSummaryPIDDSI = {
							 | 
						||
| 
								 | 
							
									0x01: { n: 'CodePage', t: VT_I2 },
							 | 
						||
| 
								 | 
							
									0x02: { n: 'Category', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x03: { n: 'PresentationFormat', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x04: { n: 'ByteCount', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0x05: { n: 'LineCount', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0x06: { n: 'ParagraphCount', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0x07: { n: 'SlideCount', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0x08: { n: 'NoteCount', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0x09: { n: 'HiddenCount', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0x0a: { n: 'MultimediaClipCount', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0x0b: { n: 'Scale', t: VT_BOOL },
							 | 
						||
| 
								 | 
							
									0x0c: { n: 'HeadingPair', t: VT_VECTOR | VT_VARIANT },
							 | 
						||
| 
								 | 
							
									0x0d: { n: 'DocParts', t: VT_VECTOR | VT_LPSTR },
							 | 
						||
| 
								 | 
							
									0x0e: { n: 'Manager', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x0f: { n: 'Company', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x10: { n: 'LinksDirty', t: VT_BOOL },
							 | 
						||
| 
								 | 
							
									0x11: { n: 'CharacterCount', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0x13: { n: 'SharedDoc', t: VT_BOOL },
							 | 
						||
| 
								 | 
							
									0x16: { n: 'HLinksChanged', t: VT_BOOL },
							 | 
						||
| 
								 | 
							
									0x17: { n: 'AppVersion', t: VT_I4, p: 'version' },
							 | 
						||
| 
								 | 
							
									0x1A: { n: 'ContentType', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x1B: { n: 'ContentStatus', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x1C: { n: 'Language', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x1D: { n: 'Version', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0xFF: {}
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */
							 | 
						||
| 
								 | 
							
								var SummaryPIDSI = {
							 | 
						||
| 
								 | 
							
									0x01: { n: 'CodePage', t: VT_I2 },
							 | 
						||
| 
								 | 
							
									0x02: { n: 'Title', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x03: { n: 'Subject', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x04: { n: 'Author', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x05: { n: 'Keywords', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x06: { n: 'Comments', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x07: { n: 'Template', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x08: { n: 'LastAuthor', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x09: { n: 'RevNumber', t: VT_STRING },
							 | 
						||
| 
								 | 
							
									0x0A: { n: 'EditTime', t: VT_FILETIME },
							 | 
						||
| 
								 | 
							
									0x0B: { n: 'LastPrinted', t: VT_FILETIME },
							 | 
						||
| 
								 | 
							
									0x0C: { n: 'CreatedDate', t: VT_FILETIME },
							 | 
						||
| 
								 | 
							
									0x0D: { n: 'ModifiedDate', t: VT_FILETIME },
							 | 
						||
| 
								 | 
							
									0x0E: { n: 'PageCount', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0x0F: { n: 'WordCount', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0x10: { n: 'CharCount', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0x11: { n: 'Thumbnail', t: VT_CF },
							 | 
						||
| 
								 | 
							
									0x12: { n: 'ApplicationName', t: VT_LPSTR },
							 | 
						||
| 
								 | 
							
									0x13: { n: 'DocumentSecurity', t: VT_I4 },
							 | 
						||
| 
								 | 
							
									0xFF: {}
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* [MS-OLEPS] 2.18 */
							 | 
						||
| 
								 | 
							
								var SpecialProperties = {
							 | 
						||
| 
								 | 
							
									0x80000000: { n: 'Locale', t: VT_UI4 },
							 | 
						||
| 
								 | 
							
									0x80000003: { n: 'Behavior', t: VT_UI4 },
							 | 
						||
| 
								 | 
							
									0x72627262: {}
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(function() {
							 | 
						||
| 
								 | 
							
									for(var y in SpecialProperties) if(SpecialProperties.hasOwnProperty(y))
							 | 
						||
| 
								 | 
							
									DocSummaryPIDDSI[y] = SummaryPIDSI[y] = SpecialProperties[y];
							 | 
						||
| 
								 | 
							
								})();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* [MS-XLS] 2.4.63 Country/Region codes */
							 | 
						||
| 
								 | 
							
								var CountryEnum = {
							 | 
						||
| 
								 | 
							
									0x0001: "US", // United States
							 | 
						||
| 
								 | 
							
									0x0002: "CA", // Canada
							 | 
						||
| 
								 | 
							
									0x0003: "", // Latin America (except Brazil)
							 | 
						||
| 
								 | 
							
									0x0007: "RU", // Russia
							 | 
						||
| 
								 | 
							
									0x0014: "EG", // Egypt
							 | 
						||
| 
								 | 
							
									0x001E: "GR", // Greece
							 | 
						||
| 
								 | 
							
									0x001F: "NL", // Netherlands
							 | 
						||
| 
								 | 
							
									0x0020: "BE", // Belgium
							 | 
						||
| 
								 | 
							
									0x0021: "FR", // France
							 | 
						||
| 
								 | 
							
									0x0022: "ES", // Spain
							 | 
						||
| 
								 | 
							
									0x0024: "HU", // Hungary
							 | 
						||
| 
								 | 
							
									0x0027: "IT", // Italy
							 | 
						||
| 
								 | 
							
									0x0029: "CH", // Switzerland
							 | 
						||
| 
								 | 
							
									0x002B: "AT", // Austria
							 | 
						||
| 
								 | 
							
									0x002C: "GB", // United Kingdom
							 | 
						||
| 
								 | 
							
									0x002D: "DK", // Denmark
							 | 
						||
| 
								 | 
							
									0x002E: "SE", // Sweden
							 | 
						||
| 
								 | 
							
									0x002F: "NO", // Norway
							 | 
						||
| 
								 | 
							
									0x0030: "PL", // Poland
							 | 
						||
| 
								 | 
							
									0x0031: "DE", // Germany
							 | 
						||
| 
								 | 
							
									0x0034: "MX", // Mexico
							 | 
						||
| 
								 | 
							
									0x0037: "BR", // Brazil
							 | 
						||
| 
								 | 
							
									0x003d: "AU", // Australia
							 | 
						||
| 
								 | 
							
									0x0040: "NZ", // New Zealand
							 | 
						||
| 
								 | 
							
									0x0042: "TH", // Thailand
							 | 
						||
| 
								 | 
							
									0x0051: "JP", // Japan
							 | 
						||
| 
								 | 
							
									0x0052: "KR", // Korea
							 | 
						||
| 
								 | 
							
									0x0054: "VN", // Viet Nam
							 | 
						||
| 
								 | 
							
									0x0056: "CN", // China
							 | 
						||
| 
								 | 
							
									0x005A: "TR", // Turkey
							 | 
						||
| 
								 | 
							
									0x0069: "JS", // Ramastan
							 | 
						||
| 
								 | 
							
									0x00D5: "DZ", // Algeria
							 | 
						||
| 
								 | 
							
									0x00D8: "MA", // Morocco
							 | 
						||
| 
								 | 
							
									0x00DA: "LY", // Libya
							 | 
						||
| 
								 | 
							
									0x015F: "PT", // Portugal
							 | 
						||
| 
								 | 
							
									0x0162: "IS", // Iceland
							 | 
						||
| 
								 | 
							
									0x0166: "FI", // Finland
							 | 
						||
| 
								 | 
							
									0x01A4: "CZ", // Czech Republic
							 | 
						||
| 
								 | 
							
									0x0376: "TW", // Taiwan
							 | 
						||
| 
								 | 
							
									0x03C1: "LB", // Lebanon
							 | 
						||
| 
								 | 
							
									0x03C2: "JO", // Jordan
							 | 
						||
| 
								 | 
							
									0x03C3: "SY", // Syria
							 | 
						||
| 
								 | 
							
									0x03C4: "IQ", // Iraq
							 | 
						||
| 
								 | 
							
									0x03C5: "KW", // Kuwait
							 | 
						||
| 
								 | 
							
									0x03C6: "SA", // Saudi Arabia
							 | 
						||
| 
								 | 
							
									0x03CB: "AE", // United Arab Emirates
							 | 
						||
| 
								 | 
							
									0x03CC: "IL", // Israel
							 | 
						||
| 
								 | 
							
									0x03CE: "QA", // Qatar
							 | 
						||
| 
								 | 
							
									0x03D5: "IR", // Iran
							 | 
						||
| 
								 | 
							
									0xFFFF: "US"  // United States
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* [MS-XLS] 2.5.127 */
							 | 
						||
| 
								 | 
							
								var XLSFillPattern = [
							 | 
						||
| 
								 | 
							
									null,
							 | 
						||
| 
								 | 
							
									'solid',
							 | 
						||
| 
								 | 
							
									'mediumGray',
							 | 
						||
| 
								 | 
							
									'darkGray',
							 | 
						||
| 
								 | 
							
									'lightGray',
							 | 
						||
| 
								 | 
							
									'darkHorizontal',
							 | 
						||
| 
								 | 
							
									'darkVertical',
							 | 
						||
| 
								 | 
							
									'darkDown',
							 | 
						||
| 
								 | 
							
									'darkUp',
							 | 
						||
| 
								 | 
							
									'darkGrid',
							 | 
						||
| 
								 | 
							
									'darkTrellis',
							 | 
						||
| 
								 | 
							
									'lightHorizontal',
							 | 
						||
| 
								 | 
							
									'lightVertical',
							 | 
						||
| 
								 | 
							
									'lightDown',
							 | 
						||
| 
								 | 
							
									'lightUp',
							 | 
						||
| 
								 | 
							
									'lightGrid',
							 | 
						||
| 
								 | 
							
									'lightTrellis',
							 | 
						||
| 
								 | 
							
									'gray125',
							 | 
						||
| 
								 | 
							
									'gray0625'
							 | 
						||
| 
								 | 
							
								];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* [MS-XLS] 2.5.161 */
							 | 
						||
| 
								 | 
							
								var XLSIcv = rgbify([
							 | 
						||
| 
								 | 
							
									/* Color Constants */
							 | 
						||
| 
								 | 
							
									0x000000,
							 | 
						||
| 
								 | 
							
									0xFFFFFF,
							 | 
						||
| 
								 | 
							
									0xFF0000,
							 | 
						||
| 
								 | 
							
									0x00FF00,
							 | 
						||
| 
								 | 
							
									0x0000FF,
							 | 
						||
| 
								 | 
							
									0xFFFF00,
							 | 
						||
| 
								 | 
							
									0xFF00FF,
							 | 
						||
| 
								 | 
							
									0x00FFFF,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/* Defaults */
							 | 
						||
| 
								 | 
							
									0x000000,
							 | 
						||
| 
								 | 
							
									0xFFFFFF,
							 | 
						||
| 
								 | 
							
									0xFF0000,
							 | 
						||
| 
								 | 
							
									0x00FF00,
							 | 
						||
| 
								 | 
							
									0x0000FF,
							 | 
						||
| 
								 | 
							
									0xFFFF00,
							 | 
						||
| 
								 | 
							
									0xFF00FF,
							 | 
						||
| 
								 | 
							
									0x00FFFF,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									0x800000,
							 | 
						||
| 
								 | 
							
									0x008000,
							 | 
						||
| 
								 | 
							
									0x000080,
							 | 
						||
| 
								 | 
							
									0x808000,
							 | 
						||
| 
								 | 
							
									0x800080,
							 | 
						||
| 
								 | 
							
									0x008080,
							 | 
						||
| 
								 | 
							
									0xC0C0C0,
							 | 
						||
| 
								 | 
							
									0x808080,
							 | 
						||
| 
								 | 
							
									0x9999FF,
							 | 
						||
| 
								 | 
							
									0x993366,
							 | 
						||
| 
								 | 
							
									0xFFFFCC,
							 | 
						||
| 
								 | 
							
									0xCCFFFF,
							 | 
						||
| 
								 | 
							
									0x660066,
							 | 
						||
| 
								 | 
							
									0xFF8080,
							 | 
						||
| 
								 | 
							
									0x0066CC,
							 | 
						||
| 
								 | 
							
									0xCCCCFF,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									0x000080,
							 | 
						||
| 
								 | 
							
									0xFF00FF,
							 | 
						||
| 
								 | 
							
									0xFFFF00,
							 | 
						||
| 
								 | 
							
									0x00FFFF,
							 | 
						||
| 
								 | 
							
									0x800080,
							 | 
						||
| 
								 | 
							
									0x800000,
							 | 
						||
| 
								 | 
							
									0x008080,
							 | 
						||
| 
								 | 
							
									0x0000FF,
							 | 
						||
| 
								 | 
							
									0x00CCFF,
							 | 
						||
| 
								 | 
							
									0xCCFFFF,
							 | 
						||
| 
								 | 
							
									0xCCFFCC,
							 | 
						||
| 
								 | 
							
									0xFFFF99,
							 | 
						||
| 
								 | 
							
									0x99CCFF,
							 | 
						||
| 
								 | 
							
									0xFF99CC,
							 | 
						||
| 
								 | 
							
									0xCC99FF,
							 | 
						||
| 
								 | 
							
									0xFFCC99,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									0x3366FF,
							 | 
						||
| 
								 | 
							
									0x33CCCC,
							 | 
						||
| 
								 | 
							
									0x99CC00,
							 | 
						||
| 
								 | 
							
									0xFFCC00,
							 | 
						||
| 
								 | 
							
									0xFF9900,
							 | 
						||
| 
								 | 
							
									0xFF6600,
							 | 
						||
| 
								 | 
							
									0x666699,
							 | 
						||
| 
								 | 
							
									0x969696,
							 | 
						||
| 
								 | 
							
									0x003366,
							 | 
						||
| 
								 | 
							
									0x339966,
							 | 
						||
| 
								 | 
							
									0x003300,
							 | 
						||
| 
								 | 
							
									0x333300,
							 | 
						||
| 
								 | 
							
									0x993300,
							 | 
						||
| 
								 | 
							
									0x993366,
							 | 
						||
| 
								 | 
							
									0x333399,
							 | 
						||
| 
								 | 
							
									0x333333,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/* Sheet */
							 | 
						||
| 
								 | 
							
									0xFFFFFF,
							 | 
						||
| 
								 | 
							
									0x000000
							 | 
						||
| 
								 | 
							
								]);
							 | 
						||
| 
								 | 
							
								
							 |