workbook 中常用属性之 customWorkbookViews

新建自定义视图

在视图菜单下的自定义视图按钮, 点击可以新增自定义视图。

点击之后会弹出一个添加视图的确认框, 需要输入视图的名称, 同时可以对视图进行简单的设置。

新建完之后,再次点击自定义视图, 会显示如下的弹框。 选中要展示的自定义视图,点击显示即可。

自定义视图的数据结构

workbook.xml

xml 复制代码
<customWorkbookViews>
    <customWorkbookView name="test" guid="{26ADEF9F-F3BF-104A-9074-B01F9CD9839B}" xWindow="315" yWindow="263" windowWidth="1802" windowHeight="936" activeSheetId="1"/>
</customWorkbookViews>

sheet1.xml

xml 复制代码
<customSheetViews>
    <customSheetView guid="{622782F9-2179-0A40-8982-4D3E81C07BDC}" filter="1" showAutoFilter="1">
      <selection activeCell="B2" sqref="B2"/>
      <pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
      <autoFilter ref="D3:G14" xr:uid="{49FBCA9A-6900-3447-958F-3EEB77EC5F75}">
        <filterColumn colId="3">
          <filters blank="1">
            <filter val="范德萨发的"/>
          </filters>
        </filterColumn>
      </autoFilter>
    </customSheetView>
  </customSheetViews>

如果看自定义视图的属性的话, 会发现大部分的数据跟 workbookView 是一样的。 关于 workbookView 的介绍可以查看这篇文章: juejin.cn/post/726629...

常用属性介绍

OOXML 里面定义的 customWorkbookView 的属性, 这里会介绍几个常用属性。

像 xWindow、yWindow 等这些属性, 在之前的 bookView 的文章中已经有了介绍, 这里不再赘述。 和 bookView 不同的是:

name

自定义视图的名称,用户后续可以选中视图名称来切换视图。

guid

唯一ID, 这个 ID 和 sheet1.xml 里面的 customSheetView 的 guid 一致。

includeHiddenRowCol

这个属性是一个 boolean 值, 默认为 true。 也就是上面新建视图时的"隐藏行、列及筛选设置"。 如果把这个勾选去掉的话:

sheet1.xml

xml 复制代码
<customSheetView guid="{D4576626-4D54-6F4B-876C-F7D79DE16676}">
      <selection activeCell="D3" sqref="D3:I19"/>
</customSheetView>

worksheet 里面的 customSheetView 则不会有筛选的内容。 这里说的筛选的内容主要是被筛选隐藏的行列、筛选内容,条件, 当你打开这个视图的时候, 筛选和筛选条件就会展示你创建视图时候的状态。 去掉勾选不表示不能使用筛选,而是和原表共用的一个筛选及筛选条件,原表更新的时候, 视图也会更新。

workbookView 和 customWorkbookView 的区别

workbookView 在 Excel 的实现中, 是一个自定义的窗口。 也就是相当于你可以同时打开一个 Excel 文件两次, 两个窗口是独立的, 并且关闭窗口之后, ooxml 中的数据会被清除只保留一个默认的。 在自定义视图中, 你所有新增的视图在关闭窗口之后都是会保留的。

相关推荐
布列瑟农的星空2 分钟前
大话设计模式——观察者模式和发布/订阅模式的区别
前端·后端·架构
龙在天3 分钟前
Vue3 实现 B站 视差 动画
前端
KenXu5 分钟前
F2C Prompt to Design、AI 驱动的设计革命
前端
小鱼儿亮亮7 分钟前
canvas中画线条,线条效果比预期宽1像素且模糊问题分析及解决方案
前端·react.js
@大迁世界8 分钟前
用 popover=“hint“ 打造友好的 HTML 提示:一招让界面更“懂人”
开发语言·前端·javascript·css·html
伍哥的传说9 分钟前
Tailwind CSS v4 终极指南:体验 Rust 驱动的闪电般性能与现代化 CSS 工作流
前端·css·rust·tailwindcss·tailwind css v4·lightning css·utility-first
Moonbit9 分钟前
月报Vol.03: 新增Bitstring pattern支持,构造器模式匹配增强
后端·算法·github
小鱼儿亮亮13 分钟前
使用Redux的combineReducers对数据拆分
前端·react.js
烛阴16 分钟前
【TS 设计模式完全指南】用工厂方法模式打造你的“对象生产线”
javascript·设计模式·typescript
中等生17 分钟前
Pandas 与 NumPy:数据分析中的黄金搭档
后端·python