Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Excel、WPS、OpenOffice 等电子表格办公应用创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件的文档,并提供流式读写 API,用于处理包含大规模数据的工作簿。可应用于各类报表平台、云计算、边缘计算等系统。入选 2020 Gopher China - Go 领域明星开源项目(GSP)、2018 年开源中国码云最有价值开源项目 GVP (Gitee Most Valuable Project),2022 中国开源创新大赛优秀项目。
开源代码
GitHub: github.com/xuri/excelize
Gitee: gitee.com/xurime/excelize
中文文档: xuri.me/excelize/zh-hans
2023年4月10日,社区正式发布了 2.7.1 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,完整的更改列表可查看 changelog。
此版本中最显著的变化包括:
兼容性提示
- 移除了
ChartLine
数据类型中的Color
字段 - 使用
RichTextRun
数据类型代替ShapeParagraph
- 使用
Fill
代替Shape
数据类型中的Color
字段 - 移除了已导出的数据类型
AutoFilterListOptions
- 将数据类型
TableOptions
重命名为Table
- 添加图表函数
AddChart
改为使用ChartType
类型枚举值指定图表类型 - 修改了 7 个函数的签名,具体更改详见官方文档中的更新说明
新增功能
- 新增函数
SetSheetDimension
与GetSheetDimension
以支持设置与获取工作表已用区域,相关 issue #1463 - 创建样式函数
NewStyle
现已支持 17 种渐变填充样式 - 增加创建样式数量上限至 65430
- 通过
AddPicture
添加图片时,现已允许插入 BMP 格式图片 - 函数
GetPictures
支持读取被添加至同一单元格中的多张图片 - 设置条件格式函数
SetConditionalFormat
支持设置带有“如果为真则停止”和“图标集”条件的条件格式规则 - 设置条件格式函数
SetConditionalFormat
支持设置在条件格式中使用带有纯色填充样式的数据条,并支持指定数据条的颜色,相关 issue #1462 - 添加图表函数
AddChart
支持设置图表中各个数据系列使用自定义填充颜色,相关 issue #1474 - 添加图表函数
AddChart
支持设置气泡图图表中各个系列气泡的大小 - 添加图表函数
AddChart
支持设置子母饼图和复合条饼图中第二绘图区域的数据系列 - 添加图表函数
AddChart
支持为图表中数据标签设置自定义数字格式,相关 issue #1499 - 创建表格函数
AddTable
支持在创建表格时指定是否包含标题行 - 创建表格函数
AddTable
创建表格时增加对表格名称的校验,并导出了错误常量ErrTableNameLength
,相关 issue #1468 - 函数
AutoFilter
支持为筛选范围内的多个列设置筛选条件 - 计算单元格的值函数
CalcCellValue
现已支持指定是否为公式计算结果应用数字格式 - 计算单元格的值函数
CalcCellValue
对于以下公式函数加入了双字节字符的支持:LEFT, LEN, LENB, MID, MIDB, RIGHT 和 RIGHTB,相关 issue #1476 - 计算单元格的值函数
CalcCellValue
函数对于存在错误的公式将在计算结果中返回公式错误代码,并将详细错误信息在 error 数据类型的返回值中返回,相关 issue #1490 - 对输入图片文件的扩展名调整为大小写不敏感,相关 issue #1503
- 使用流式写入器流式按行赋值时,对于值为 nil 的单元格将会跳过生成该单元格,相关 issue #756
- 获取超链接
GetCellHyperLink
函数支持读取合并单元格中的超链接 - 添加了新的导出类型
ChartType
以表示图表类型枚举
兼容性提升
- 兼容带有函数组的工作簿
- 兼容带有严格模式 XML 命名空间地址的工作簿主题,相关 issue #1447
- 提高了与文档内部不含工作簿关系部件工作簿的兼容性,以修复打开此类工作簿可能出现的 panic
问题修复
- 修复了特定情况下读取日期时间类型单元格的值存在精度误差的问题
- 修复了特定情况下当修改原本存储了日期时间类型的单元格为文本类型值,修改后单元格数据类型有误的问题,解决 issue #1464
- 修复了部分情况下公式计算结果为空的问题,解决 issue #1469
- 修复了设置数据条类型条件格式时,指定自定义最大/最小值无效的问题,解决 issue #1492
- 修复了打开行高或列宽为 0 的工作表,保存后行高列宽设置失效的问题,解决 issue #1461
- 提高了读取带有空白字符共享字符串表索引值的兼容性,解决 issue #1508
性能优化
- 提高了应用带有自定义月份数字格式的速度,相关 issue #1455
- 大幅提高了对于带有合并单元格工作表的处理速度,相关 issue #1448
其他
- Go Excelize 提供了支持 WebAssembly / Javascript 环境的 excelize-wasm NPM 包
- Go Modules 依赖模块更新
- 单元测试与文档更新
- 优化内部变量与函数命名
- 包含简体中文、英语、法语、俄语、日语、韩语、阿拉伯语、德语和西班牙语的多国语言文档网站更新
致谢
感谢 Excelize 的所有贡献者,以下是为此版本提交代码的贡献者列表:
-
liron-l (Liron Levin)
-
nathj07 (Nathan Davies)
-
Josh-Weston (Josh Weston)
-
jaby
-
FlowingSPDG (Shugo Kawamura)
-
barismar (Baris Mar Aziz)
-
doingNobb (张涛)
-
rpoetrap (Rizki Putra)
-
huangshaokun
-
CHANTXU64 (ChantXu64)
-
playGitboy
相关推荐
电赛小车源码 常规C/C++编程 【核心代码】 ├── 2003智能小车(全国大学生电子设计竞赛) │ ├── BrainCar.M51 │ ├── BrainCar.Opt │ ├── BrainCar.Uv2 │ ├── BrainCar.hex │ ├── BrainCar.lnp │ ├── BrainCar.plg │ ├── BrainCar_Opt.Bak │ ├── BrainCar_Uv2.Bak │ ├── Config.h │ ├── Follow.LST │ ├── Follow.OBJ │ ├── Follow.c │ ├── Follow.h │ ├── IOCfg.LST │ ├── IOCfg.OBJ │ ├── IOCfg.c │ ├── LightDTC.LST │ ├── LightDTC.OBJ │ ├── LightDTC.c │ ├── LightDTC.h │ ├── MetalDTC.LST │ ├── MetalDTC.OBJ │ ├── Met
内容概要:本文详细介绍了如何运用C#的各种编程特性和概念编写新年祝福语句,展示了异步编程、字符串插值、LINQ表达式查询、Lambda表达式、扩展方法、自动实现属性、元组、本地函数、模式匹配(switch表达式)、以及记录类型共十种不同的编程方式来发送独特的新春祝福。不仅加深对C#不同语法和技术点的理解,还通过实际代码实例展示了各技术特点的应用。 适合人群:主要针对已掌握C#编程语言并希望进一步提高自己编程技巧的人群,尤其对于想提升编码灵活性与效率的技术从业者。 使用场景及目标:本文提供的示例适用于希望通过特定编程元素表达心意或展示技能的情形。比如,在个人项目实践中尝试多样化的程序结构,或是用于教授编程时引入有趣的应用案例激发学生兴趣。 其他说明:文章不仅仅停留在理论层面,更重要的是提供了一个实用的方式来将抽象的语言概念具象化到生活情境中去体验。这有助于读者更加深刻地理解和记住所学到的知识要点。每一段落都有具体的代码演示,可以帮助读者跟随教程进行实操练习。
"【深度探究】基于MATLAB Simulink的DFIG-0522双馈风机模型与机侧及网侧控制策略分析",【dfig0522】MATLAB simulink双馈风机包涵机侧和网侧控制。 ,dfig; simulink; 双馈风机; 机侧控制; 网侧控制,"MATLAB Simulink中双馈风机机侧与网侧控制解析"
[C++] 小游戏 能量 1.1.2 正式版 更新日志: 1 ,加强调试模式的功能,使其可以更方便快捷的找到出现问题的地方并及时修改,如果你不是专门想去找问题的话,开着调试模式来玩游戏可能会影响你的游戏体验。 2 ,将大部分输入改为getch输入方法,使你可以更方便更快捷的来选出你所想要选择功能。 3, 修改炼狱模式游戏数值无法保存的bug,把炼狱模式的游戏数值也写到了存档里面,不要试图偷偷修改你的存档,因为它有可能会让你的程序直接崩溃爆炸。 4, 一些极小的辅助功能的修改,其中包括那一些格式的修改、一些文字的修改和代码的优化。 5, 1个彩蛋,这个彩蛋是不会直接看到,但如果你在某些界面输入 “7” (不包括双引号),你有可能会触发这个彩蛋。
JavaFX + Maven实战:可内网联机的多人在线五子棋游戏开发全解析(附Socket通信与EXE打包)
新媒体(直播)绩效考核及提成方案12.1
东方日升集团薪酬绩效管理办法
Python源码实例06之如何按照拼音顺序对中文汉字进行排序.zip
1、文件内容:SDL-devel-1.2.15-17.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/SDL-devel-1.2.15-17.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
光伏储能虚拟同步机的低频振荡抑制机制:探究阻尼系数变化对振荡的影响,光伏储能同步机,抑制低频振荡,振荡随储能阻尼系数变化而变化 ,核心关键词:光伏储能;虚拟同步机;低频振荡;储能阻尼系数;振荡变化。,"光伏储能虚拟同步机:阻尼系数调控低频振荡抑制技术"
短视频okr工作考核表
1、文件内容:LibRaw-static-0.19.4-2.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/LibRaw-static-0.19.4-2.el7_9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:adwaita-qt5-1.0-1.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/adwaita-qt5-1.0-1.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
可用于在ollama上使用openai来体验本地AI大模型qwen:7b,对电脑的要求是i5,16G内存,普通显卡或集成显卡,win10或以上操作系统。
结构光CUDA多线程编程在相位单目双目结构光三维重建系统中的应用:高速500万像素三维重建技术,结构光cuda多线程程序开发可用于基于相位的单目或者双目结构光三维重建系统 0.5s500w像素三维重建。 ,核心关键词:结构光;CUDA;多线程程序开发;基于相位的单目/双目结构光;三维重建系统;0.5s重建;500w像素。,"基于CUDA多线程的结构光三维重建系统:0.5秒内完成500万像素三维重建"
太阳能光伏并网逆变器系统:电导增量法最大功率追踪,三相桥式逆变与LCL滤波器的设计优化,太阳能光伏并网逆变器系统设计,输出与电网同相,输出380v50hz,并网效果良好。 最大功率追踪采用电导增量法,前极采用双向boost升压电路,后极三相桥式逆变 控制环采用双环PI调节 逆变器采用三相桥式逆变器,坐标变含PLL锁相环,逆变器输出端加设LCL滤波器。 ,系统设计;并网逆变器;同相输出;380v50hz;最大功率追踪;电导增量法;升压电路;双环PI调节;LCL滤波器,基于电导增量法的380v50hz光伏并网逆变器系统设计
将此文件放到Unity的Plugins下,在项目中使用以下代码就可以引用 //获取打开的文件全路径 var getPath = FileTool.OpenProject(""); if (getPath!="") { Debug.Log(getPath); //上传文件到服务器 UploadServer(getPath); }
基于改进遗传算法的风电场优化调度策略验证及最大功率输出实现,matlab编写详实内容,基于改进遗传算法的风电场优化调度策略验证,改善风电场整体输出功率,达到最大功率输出,采用matlab编写,内容非常详实和完整 ,核心关键词:基于改进遗传算法;风电场优化调度策略;功率输出优化;最大功率输出;Matlab编写;内容详实完整。,"基于改进遗传算法的风电场优化调度策略——提高输出功率的Matlab实现"
2025年义务教育历史新课程标准(2022版)必考题库含答案.docx
非线性七自由度模型搭建与CarSim联合仿真验证:车速50km/h路面附着力0.8下的模型精度分析,搭建非线性七自由度对比模型(包括车身三自由度、魔术轮胎、车轮模型等),并与CarSim软件进行联合,验证所搭建模型的合理性。 通过以50km h的车速在附着系数0.8的路面上仿真,得到结果如图所示,误差在10%以内,因此所建模型合理可靠。 ,关键词:七自由度对比模型;非线性;车身三自由度;魔术轮胎;车轮模型;CarSim软件;仿真;误差;合理可靠。,非线性七自由度模型与CarSim联合验证:误差控制在10%内,模型可靠