V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
cfans1993
V2EX  ›  问与答

office 2007 的 pptx、xlsx、docx 文件不通过扩展名的方式,如何判断属于哪个类型

  •  
  •   cfans1993 · 2015-07-20 21:39:39 +08:00 · 2490 次点击
    这是一个创建于 3418 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主要问题:

    文档太多,而且都没带后缀名,需要通过文档类型进行归类,不想通过后缀名逐一试错判定类型。

    想到的方法

    通过文件头,可是文件的前面20来个字节都是一样一样的。有没有遇到过这种情况的朋友分享一下经验。

    第 1 条附言  ·  2015-07-21 08:47:46 +08:00
    查了下官方说明:
    https://support.office.com/zh-cn/article/Office-Open-XML-I%EF%BC%9A%E4%BA%86%E8%A7%A3-Office-Open-XML-%E6%A0%BC%E5%BC%8F-99e39a4d-0a20-4543-934d-55896e0b93ef?ui=zh-CN&rs=zh-CN&ad=CN

    得出一种参考方案:
    如果一堆文件都是office 2007系列的,只要用7z列出文件里的清单,然后通过匹配标识文件来判断
    >pptx:含有presentation.xml文件
    >xlsx: 含有workbook.xml文件
    >docx: 含有document.xml文件
    4 条回复    2015-07-21 05:40:21 +08:00
    ho121
        1
    ho121  
       2015-07-20 21:43:38 +08:00 via Android
    带x的是zip包
    luengzeegin
        2
    luengzeegin  
       2015-07-20 21:46:23 +08:00 via Android
    排列方式里面不是有个按类型吗...
    IMRES
        3
    IMRES  
       2015-07-20 21:55:01 +08:00   ❤️ 1
    以zip格式打开,判断[Content_Types].xml的“ContentType”
    yyfearth
        4
    yyfearth  
       2015-07-21 05:40:21 +08:00   ❤️ 1
    “前面20来个字节” 对于带x的文件无法区别的
    都是 PK 开头的标准zip包
    你还要解压里面的xml来判断
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3227 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 12:55 · PVG 20:55 · LAX 04:55 · JFK 07:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.