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 中的数据会被清除只保留一个默认的。 在自定义视图中, 你所有新增的视图在关闭窗口之后都是会保留的。

相关推荐
雯0609~6 分钟前
网页F12:缓存的使用(设值、取值、删除)
前端·缓存
℘团子এ10 分钟前
vue3中如何上传文件到腾讯云的桶(cosbrowser)
前端·javascript·腾讯云
学习前端的小z15 分钟前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript
XINGTECODE24 分钟前
海盗王集成网关和商城服务端功能golang版
开发语言·后端·golang
程序猿进阶30 分钟前
堆外内存泄露排查经历
java·jvm·后端·面试·性能优化·oom·内存泄露
FIN技术铺34 分钟前
Spring Boot框架Starter组件整理
java·spring boot·后端
前端百草阁39 分钟前
【TS简单上手,快速入门教程】————适合零基础
javascript·typescript
彭世瑜39 分钟前
ts: TypeScript跳过检查/忽略类型检查
前端·javascript·typescript
FØund40440 分钟前
antd form.setFieldsValue问题总结
前端·react.js·typescript·html
Backstroke fish40 分钟前
Token刷新机制
前端·javascript·vue.js·typescript·vue