{"success":true,"data":{"ext":"xlw","name":"XLW","description":"XLW is a Microsoft Excel worksheet file format created by Microsoft for use with Excel 5.0 and related versions. It was used to store worksheets and associated spreadsheet data for opening, editing, and exchanging files in Microsoft Excel and compatible spreadsheet applications. This is a legacy format that is largely obsolete today; like other spreadsheet files, it should be opened cautiously when received from untrusted sources.","mime":["application/vnd.ms-excel"],"risk_level":"Safe","signatures":[{"hex":"4D 69 63 72 6F 73 6F 66 74 20 45 78 63 65 6C 20 35 2E 30 20 57 6F 72 6B 73 68 65 65 74","offset":2080,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"46 6F 67 6C 69 6F 20 64 69 20 6C 61 76 6F 72 6F 20 4D 69 63 72 6F 73 6F 66 74 20 45 78 63 65","offset":2080,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"42 69 66 66 35","offset":2114,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"42 69 66 66 35","offset":2121,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"D0 CF 11 E0 A1 B1 1A E1","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]}],"related":["xlc","xld","xll","xlm","xlt","xla"],"usage":{"python":"def is_xlw(file_path: str) -> bool:\n    \"\"\"Check if file is a valid XLW by magic bytes at offset 2080.\"\"\"\n    signature = bytes([0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x45, 0x78, 0x63, 0x65, 0x6C, 0x20, 0x35, 0x2E, 0x30, 0x20, 0x57, 0x6F, 0x72, 0x6B, 0x73, 0x68, 0x65, 0x65, 0x74])\n    with open(file_path, \"rb\") as f:\n        f.seek(2080)\n        return f.read(29) == signature","node":"function isXLW(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x45, 0x78, 0x63, 0x65, 0x6C, 0x20, 0x35, 0x2E, 0x30, 0x20, 0x57, 0x6F, 0x72, 0x6B, 0x73, 0x68, 0x65, 0x65, 0x74]);\n  if (buffer.length < 2109) return false;\n  return buffer.subarray(2080, 2109).equals(signature);\n}","go":"func IsXLW(data []byte) bool {\n    signature := []byte{0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x45, 0x78, 0x63, 0x65, 0x6C, 0x20, 0x35, 0x2E, 0x30, 0x20, 0x57, 0x6F, 0x72, 0x6B, 0x73, 0x68, 0x65, 0x65, 0x74}\n    if len(data) < 2109 {\n        return false\n    }\n    return bytes.Equal(data[2080:2109], signature)\n}"}}}