V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zurmokeeper
V2EX  ›  程序员

XLS 格式的 excel 里的 XFS = 16*XF [XFCRC 16*4050XFExt],和这个 16 * 和 16*4050 是什么意思?

  •  
  •   zurmokeeper ·
    zurmokeeper · 135 天前 · 1402 次点击
    这是一个创建于 135 天前的主题,其中的信息可能已经有所发展或是发生改变。

    查看 xls 格式的 excel 里的组成内容时,发现里面有个部分是 XFS ,表示 XF 的集合内容,

    XFS = 16* XF [XFCRC 16*4050XFExt] 我想意思大概是有 16 个 XF , 然后接下来的 XFCRC 是可选的,然后后面这个 16 * 4050XFExt 是真的不明白,XFExt 也是一个结构,只知道 4050 是 XFExt 里某个组成的最大值

    因为我把 WPS 新建的一个 xls 解析出来看了下,我新建的这个有 64 个 XF ,所以这里 16*XF ,是指 16 的倍数个 XF ?

    还有类似的 FORMATTING = 1* 510Font 8* 218Format XFS *DXF STYLES [TABLESTYLES] [Palette] [ClrtClient]

    这个 1* 510Font 8* 218Forma 都不明白是什么意思,还说这个 * 有特别的意思?

    xls 组成文档地址

    7 条回复    2024-08-09 10:35:09 +08:00
    feiyan35488
        1
    feiyan35488  
       135 天前
    可以看 poi 的源码
    iapplebear
        2
    iapplebear  
       135 天前   ❤️ 1
    chatGPT:

    在 Excel 的二进制文件格式(如 XLS 格式)中,XFS 表示一个单元格格式的集合,其中包括了多个 XF ( Extended Format )记录。XF 记录用于描述单元格的显示格式和样式。让我们详细解析一下:

    16*XF:这表示有 16 个 XF 记录。这些记录描述了单元格的样式和格式。

    XFCRC 16*4050XFExt:

    XFCRC:这通常是一个校验值,用于验证 XF 记录的完整性。
    16*4050XFExt:这表示有 16 个长度为 4050 的 XFExt ( Extended XF )记录。XFExt 是扩展的 XF 记录,用于描述更复杂或更详细的格式信息。
    在简化的解释中:

    16*XF:文件中有 16 个 XF 记录。这些 XF 记录是基本的单元格格式信息。
    XFCRC:这是校验和,用于确保 XF 记录的完整性。
    16*4050XFExt:文件中有 16 个扩展的 XF 记录,每个记录的长度为 4050 字节。这些扩展记录提供了额外的格式和样式信息。
    这些格式和样式信息可能包括字体、对齐方式、边框、背景颜色等详细的样式设置。这些信息是为了更精细地控制 Excel 工作簿中的单元格外观。

    总结起来,这些表示法是为了描述 Excel 二进制文件中复杂的单元格格式信息。Excel 使用这些记录来管理和应用单元格的显示样式。
    tool2dx
        3
    tool2dx  
       135 天前
    我都是直接用 xml 或者 xlsx 导出数据,你这个二进制格式也太老了,微软自己都放弃了,完全没必要支持的。
    jonathanchoo
        4
    jonathanchoo  
       135 天前
    @iapplebear 16 年注册的号就这么没了吗
    Desdemor
        5
    Desdemor  
       135 天前
    4# 第一次好像只是降权
    zurmokeeper
        6
    zurmokeeper  
    OP
       135 天前
    @tool2dx 还是不少人反应有需要
    zurmokeeper
        7
    zurmokeeper  
    OP
       135 天前
    @iapplebear 我也不确定了,我把 xls 解析出来,XF 就是 64 个了,那就不会是 16 个 XF 了,而且 XFExt 的长度也不是 4050 ,只是最大长度是 4050
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2557 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 03:15 · PVG 11:15 · LAX 19:15 · JFK 22:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.