Go-Excelize API 源码阅读(二)——OpenFile()
Go-Excelize API 源码阅读(二)——OpenFile()
一、Go-Excelize 简介
Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。使用本类库要求使用的 Go 语言为 1.15 或更高版本。
二、OpenFile()
使用 OpenFile 可以打开已有 Excel 文档。OpenFile 接收表格文件的名称,并为其返回一个已填充的表格文件结构。例如,打开带有密码保护的电子表格文档:
最后需要使用 Close() 关闭已打开的工作簿。
来看一看 OpenFile()的源码:
filepath.Clean(filename)的作用如下:Clean 返回最短的路径名称。它重复应用以下规则,直到不能再做进一步处理。
用一个 Separator 元素替换多个 Separator 元素。
消除每个
.
路径名称元素(当前目录)。消除每个内部的
...
路径名称元素(父目录)。以及它前面的非...
元素。消除开始有根路径的
.
元素:也就是说,假设 Separator 元素是'/',在一个路径的开头用"/"代替"/."。
根据代码,规则 1 中的 Separator 元素如下:
os.Open 的作用是打开指定路径的文件。
OpenReader(file, opt...)的作用是从 io.Reader 中读取数据流,并返回填充的电子表格文件。
然后将返回的电子表格文件 f 的 Path 成员赋值为 filename。
三、结语这里是老岳,这是 Go 语言相关源码的解读第二篇,我会不断努力,给大家带来更多类似的文章,恳请大家不吝赐教。
版权声明: 本文为 InfoQ 作者【Regan Yue】的原创文章。
原文链接:【http://xie.infoq.cn/article/275e2a65f0006152ba495d57c】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论