Go|Go Excelize API源码阅读SetSheetViewOptions示例解析
目录
- 一、Go-Excelize简介
- 二、 SetSheetViewOptions
一、Go-Excelize简介 Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。
可以使用它来读取、写入由 Microsoft Excel? 2007 及以上版本创建的电子表格文档。
支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿。
可应用于各类报表平台、云计算、边缘计算等系统。使用本类库要求使用的 Go 语言为 1.15 或更高版本。
二、 SetSheetViewOptions
func (f *File) SetSheetViewOptions(sheet string, viewIndex int, opts ...SheetViewOption) error
根据给定的工作表名称、视图索引和视图参数设置工作表视图属性,viewIndex 可以是负数,如果是这样,则向后计数(-1 代表最后一个视图)。
可选视图参数 | 类型 |
---|---|
DefaultGridColor | bool |
ShowFormulas | bool |
ShowGridLines | bool |
ShowRowColHeaders | bool |
ShowZeros | bool |
RightToLeft | bool |
ShowRuler | bool |
View | string |
TopLeftCell | string |
ZoomScale | float64 |
f := excelize.NewFile()const sheet = "Sheet1"if err := f.SetSheetViewOptions(sheet, 0,excelize.DefaultGridColor(false),excelize.ShowFormulas(true),excelize.ShowGridLines(true),excelize.ShowRowColHeaders(true),excelize.RightToLeft(false),excelize.ShowRuler(false),excelize.View("pageLayout"),excelize.TopLeftCell("C3"),excelize.ZoomScale(80),); err != nil {fmt.Println(err)}var zoomScale ZoomScalefmt.Println("Default:")fmt.Println("- zoomScale: 80")if err := f.SetSheetViewOptions(sheet, 0, excelize.ZoomScale(500)); err != nil {fmt.Println(err)}if err := f.GetSheetViewOptions(sheet, 0, &zoomScale); err != nil {fmt.Println(err)}fmt.Println("Used out of range value:")fmt.Println("- zoomScale:", zoomScale)if err := f.SetSheetViewOptions(sheet, 0, excelize.ZoomScale(123)); err != nil {fmt.Println(err)}if err := f.GetSheetViewOptions(sheet, 0, &zoomScale); err != nil {fmt.Println(err)}fmt.Println("Used correct value:")fmt.Println("- zoomScale:", zoomScale)
【Go|Go Excelize API源码阅读SetSheetViewOptions示例解析】其输出结果如下:
Default:废话少说,直接上源码:
- zoomScale: 80
Used out of range value:
- zoomScale: 80
Used correct value:
- zoomScale: 123
func (f *File) SetSheetViewOptions(name string, viewIndex int, opts ...SheetViewOption) error { view, err := f.getSheetView(name, viewIndex) if err != nil {return err } for _, opt := range opts {opt.setSheetViewOption(view) } return nil}
先根据工作表视图的索引取工作表视图。
文章图片
这个函数其实逻辑很简单,就是判断下标是不是合法的,然后直接返回就是的了,如果默认下标是合法的,那么都不需要这个函数了直接ws.SheetViews.SheetView[viewIndex].
然后再遍历不定长参数opts
for _, opt := range opts {opt.setSheetViewOption(view) }
opt都是SheetViewOption interface类型,其下有一个函数。
- setSheetViewOption(view *xlsxSheetView)
文章图片
文章图片
文章图片
逻辑都很简单,就是将传来的值处理成工作表视图属性能够设置的值。
然后直接赋值传递过去。
下面介绍一下这些参数的含义:
- DefaultGridColor是一个SheetViewOption。它指定一个标志,指示使用应用程序应使用默认网格线颜色(取决于系统)。覆盖 colorId 中指定的任何颜色。
- ShowFormulas是一个SheetViewOption。它指定一个标志,指示此工作表是否应显示公式。
- ShowGridLines是一个SheetViewOption。它指定一个标志,指示此工作表是否应显示网格线。
- ShowRowColHeaders是一个SheetViewOption。它指定一个标志,指示工作表是否应显示行标题和列标题。
- ShowZeros是一个SheetViewOption。它指定一个标志,指示是否“在值为零的单元格中显示零”。当使用公式引用另一个空单元格时,当标志为 true 时,引用的值变为 0。默认设置为 true。
- RightToLeft是一个SheetViewOption。它指定一个标志,指示工作表是否处于“从右到左”的显示模式。在此模式下,列 A 位于最右侧,列 B ; 位于列 A 的左侧一列,依此类推。此外,单元格中的信息以从右到左的格式显示。
- ShowRuler是一个SheetViewOption。它指定一个标志,指示此工作表应显示标尺。
- View是一个 SheetViewOption。它指定一个标志,指示工作表的显示方式,默认情况下,它使用空字符串。
- TopLeftCell是一个SheetViewOption。它指定左上角可见单元格的位置 右下窗格中左上角可见单元格的位置(从左到右模式时)。
- ZoomScale是一个SheetViewOption。它为表示百分比值的当前视图指定窗口缩放放大倍率。此属性限制为介于 10 到 400 之间的值。
推荐阅读
- java|JAVA计算机毕业设计大学生网络创业就业管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
- elementui源码学习之仿写一个el-bread
- Android精华教程|Activity Result API详解,是时候放弃startActivityForResult了
- 软希网源码资源下载|星宿UI V2.1 开源wordpress资源下载小程序源码,流量主激励视频广告
- Android编程|我的Android 进阶修炼(1)( AOSP源码根目录结构)
- 安卓系统开发|搭建Android AOSP源码编译工作环境
- Android|ubuntu16.04 编译Android AOSP源码 android10
- Spark|Spark Python API Docs(part four)
- RESTful|使用node.js、Express、Mongobd在10分钟内构建RESTful API
- kylin源码调试_Apache Kylin 命令注入漏洞调试分析(CVE-2020-1956)