Excelize是一个用Go语言编写的用于操作OfficeExcel文档的基础库,基于ECMA-376、ISO/IEC29500国际标准。它可用于读取和写入使用MicrosoftExcel?2007及更高版本创建的电子表格文档。支持XLSX/XLSM/XLTM等文档格式,高度兼容样式、图片(表格)、数据透视表、切片器等复杂组件的文档,提供流式读写API处理大规模数据工作日志.可应用于各种报表平台、云计算、边缘计算等系统。入选2020年Gopher中国-Go之星开源项目(GSP)、2018年开源中国码云最具价值开源项目GVP(Gitee最有价值项目),成为国内最受欢迎的Excel文档基础库去语言。开源代码GitHub:github.com/xuri/excelizeGitee:gitee.com/xurime/excelize中文文档:xuri.me/excelize/zh-hans2022年1月3日,社区正式发布2.5.0版本,其中包括许多新功能、错误修复和兼容性改进。以下是此版本中更改内容的摘要,完整的更改列表可以在更改日志中找到。该版本最显着的变化包括:兼容性提示打开现有工作簿或获取行迭代器后,需要调用相应的Close函数关闭工作簿和数据流。修改ReadZipReader为File的实现,支持指定解压到内存或文件系统,去掉了不必要的导出变量XMLHeader,可以用encoding/xml包的xml.Header代替。未使用的导出变量ErrToExcelTime已被删除。Issue#990新API:GetCellType支持获取单元格数据类型,相关issue#417和#520新API:SetAppProps和GetAppProps支持设置和获取工作簿应用程序属性,相关issue#1095GetCellValue,GetRows,GetCols,Rows和Cols支持指定是否在不应用数字格式表达式的情况下读取单元格的原始值,相关问题#621添加了95个新的公式函数:ACCRINT、ACCRINTM、ADDRESS、AMORDEGRC、AMORLINC、AVEDEV、AVERAGEIF、CHIDIST、CONFIDENCE、CONFIDENCE.NORM、COUNTIF、COUNTIFS、COUPDAYBS、COUPDAYS、COUPDAYSNC、COUPNCD、COUPNUM、COUPPCD、DATEVALUE、DAY、DAYS、DELTA、DEVSQ、DISC、DURATION、ERF、ERF。,INDEX,INTRATE,ISFORMULA,ISLOGICAL,ISREF,ISOWEEKNUM,MATCH,MAXA,MAXIFS,MDURATION,MINIFS,MINUTE,MONTH,ODDPFRICE,PERCENTILE.EXC,PERCENTRANK.EXC,PERCENTRANK.INC,PERCENTRANK,PRICE,PRICEDISC,RICEMAT、PV、QUARTILE.EXC、RANK、RANK.EQ、RATE、RECEIVED、RRI、SHEETS、SLN、STANDARDIZE、STDEV.P、STDEVP、SWITCH、SYD、TBILLEQ、TBILLPRICE、TBILLYIELD、TEXTJOIN、TIME、TRANSPOSE、TRIMMEAN、VALUE、VAR、VAR.S、VARA、VARPA、VDB、WEEKDAY、WEIBULL、WEIBULL.DIST、XIRR、XLOOKUP、XNPV、XOR、YEAR、YEARFRAC、YIELD、YIELDDISC、YIELDMAT、Z.TEST、ZTEST,相关问题#65并且#1002公式计算引擎支持嵌套IF函数,相关issue#987公式计算引擎支持共享公式,相关issue#844公式计算引擎支持文本比较操作,相关issue#998支持在数据校验中使用公式,相关issue#1012支持文档压缩比限制,避免安全隐患SetCellFormula支持设置共享公式UpdateLinkedValue清除单元格计算缓存时会跳过宏表,相关issue#1014修复部分情况,由于内部依赖计算错误导致的AddPictureduplication创建图片的问题,相关issue#1017AddShape支持设置形状轮廓线宽,相关issue#262添加文档打开选项UnzipXMLSizeLimit支持指定打开每个工作表和共享字符表时内存解压上限创建样式时,如果给定的自定义数字格式无效,并且一个将返回错误信息。相关issue#1028streamwriting现在支持设置行样式Streamingwriter将为时间类型的单元格创建时间数字格式样式,相关issue#1107支持设置数据透视表报表布局“以压缩形式显示”或“以大纲形式显示”,相关issue#1029行/列迭代器支持获取当前行/列号和行/列总数,相关issue#1054使用time.Time类型参数支持单元格赋值时的时区定位,相关issue#1069new添加了7条错误消息的导出,以便开发者可以根据不同的错误类型采取相应的措施提高兼容性提高与具有r="0"属性的内部工作表的兼容性保留XML控制字符改进样式设置和AppleNumbers兼容性,相关问题#1059header和footer字符限制兼容多字节字符,相关issue#1061设置单元格时会保留水平制表符,相关issue#1108bug修复,修复某些情况下删除数据校验失败的问题,解决issue#979修复的问题某些情况下设置数据校验下拉列表失败,解决issue#986修复公式计算引擎LOOKUP函数在某些情况下计算结果错误的问题,解决issue#994修复公式计算引擎LOOKUP只支持全匹配问题,解决issue#997修复公式计算引擎百分比计算错误问题,解决issue#993修复某些情况下单元格读取异常导致的panic,修复“下N项”条件格式设置失败的问题修复部分情况下时间解析错误问题,解决issue#1026和#1030修复科学计数格式的单元格值解析异常问题,解决issue#1027修复部分情况下浮点数据读取异常问题,解决issue#1031修复某些情况下删除工作表失败的问题。修复内置时间数字格式解析异常的问题。解决问题#1060。修复新建样式时样式ID异常的问题。问题性能优化合并单元格的性能得到了极大的提升,耗时减少了90%。流式阅读的性能得到改善。当内部XML较大时,将共享字符串表解压到系统临时文件,内存占用减少约60%。相关issue#1096优化工作表列表读取性能优化列式存储设置,减小生成文档大小,解决issue#1057其他GoModules依赖模块更新单元测试和文档更新包括简体中文、英文、法文、俄语、日语、韩语、阿拉伯语、德语和西班牙语多语言文档站点更新
