excel2020版本免费(Excelize 2.7.0 发布, 2023 年首个更新)
Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库 ,基于 ECMA-376 ,ISO/IEC 29500 国际标准 。可以使用它来读取 、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档 。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式 ,高度兼容带有样式 、图片(表) 、透视表 、切片器等复杂组件的文档 ,并提供流式读写 API ,用于处理包含大规模数据的工作簿 。可应用于各类报表平台 、云计算 、边缘计算等系统 。入选 2020 Gopher China - Go 领域明星开源项目(GSP) 、2018 年开源中国码云最有价值开源项目 GVP (Gitee Most Valuable Project) ,目前已成为 Go 语言最受欢迎的 Excel 文档基础库 。
开源代码
GitHub: github.com/xuri/excelize
Gitee: gitee.com/xurime/excelize
中文文档: xuri.me/excelize/zh-hans
2023年1月9日 ,社区正式发布了 2.7.0 版本 ,该版本包含了多项新增功能 、错误修复和兼容性提升优化 。下面是有关该版本更新内容的摘要 ,完整的更改列表可查看 changelog 。
版本说明
此版本中最显著的变化包括:
兼容性提示
升级至该版本需要您使用的 Go 语言为 1.16 或更高版本 ,以迁移不再支持的标准库 ioutil 当给定工作表名称中存在无效字符时将返回错误 ,不再自动忽略无效字符 GetCellStyle 函数不再返回合并单元格区域左上角单元格的样式 重命名以下 5 个导出数据类型和错误常量 ,具体更改详见官方文档中的更新说明 移除了 54 项导出类型,具体更改详见官方文档中的更新说明 移除了 2 个导出常量:OrientationPortrait 和 OrientationLandscape 修改了以下 21 个函数的签名 ,使用结构体引用代替此前以 JSON 格式表示的选项参数 ,具体更改详见官方文档中的更新说明 引入了 8 项新的函数代替现有函数,具体更改详见官方文档中的更新说明 在 CellType 枚举值中添加 CellTypeFormula, CellTypeInlineString, CellTypeSharedString 并移除了 CellTypeString 对添加批注 AddComment 函数的签名进行了更改 ,支持创建富文本批注 ,相关 issue #1204 当 XML 反序列化异常时将返回错误以代替输出日志 ,函数 GetComments, GetDefaultFont 和 SetDefaultFont 增加了 error 类型的错误返回值新增功能
新增 GetDataValidations 和 GetConditionalFormats 函数以支持获取数据验证设置和条件格式 ,相关 issue #827 新增 ProtectWorkbook 和 UnprotectWorkbook 以提供工作簿保护设置支持 新增 SetSheetCol 函数以支持按列设置单元格的值 ,相关 issue #1247 新增 GetColStyle 函数以支持设置列样式 ,相关 issue #1293 新增 SetSheetBackgroundFromBytes 函数以支持根据给定的图片数据设置工作表背景图片 ,相关 issue #1405 新增导出变量 IndexedColorMapping 以支持内建索引颜色转换 新增 20 项导出类型: AutoFilterListOptions, AutoFilterOptions, Chart, ChartAxis, ChartDimension, ChartLegend, ChartLine, ChartMarker, ChartPlotArea, ChartSeries, ChartTitle, ConditionalFormatOptions, PaneOptions, Panes, GraphicOptions, Shape, ShapeColor, ShapeLine, ShapeParagraph 和 TableOptions 新增 2 项公式函数: AGGREGATE 和 SUBTOTAL Save 、Write 和 WriteTo 函数支持指定保存选项 ,相关 issue #744 使用 AddChart 函数添加图表时 ,支持为折线图设置是否使用平滑折线 ,相关 issue #1290 使用 AddChart 函数添加图表时 ,支持设置自定义折线图线条颜色 ,相关 issue #1345 使用 AddChart 函数添加图表时,支持设置自定义坐标轴字体样式 ,相关 issue #320 添加图表函数 AddChart 支持创建三维折线图 以下函数新增并发安全支持:SetColWidth 、GetColWidth 、SetColVisible 、GetColVisible、SetColStyle 和 GetColStyle 设置样式时 ,当给定的样式 ID 不存在时将返回错误,相关 issue #1323 流式按行赋值时 ,若行号未递增将返回错误 ,以避免生成的工作簿损坏 ,相关 issue #1139 按行流式写入工作表时 ,支持通过指定 RowOpts 为单元格设置样式 ,相关 issue #1354 支持流式设置窗格 ,相关 issue #1047 支持流式设置行内富文本单元格 支持流式插入分页符 新增 7 项导出错误信息: ErrUnprotectWorkbook 、ErrUnprotectWorkbookPassword 、ErrStreamSetPanes、ErrSheetNameBlank 、ErrSheetNameInvalid 、ErrSheetNameLength 和 ErrSheetNameSingleQuote ,以便开发者可根据不同的错误类型进行采取相应处理 新增 5 项导出数据类型: HeaderFooterOptions 、PageLayoutMarginsOptions 、PageLayoutOptions 、SheetPropsOptions 和 ViewOptions 支持设置分级显示的明细数据方向 支持读取和设置单元格字体的主题颜色和色调 ,相关 issue #1369 支持读取带有符合 ISO 8061 标准的时间类型单元格的值 支持设置和读取带有内建颜色索引的字体颜色 工作簿关闭函数将清理由流式写入器生成的磁盘缓存文件 支持添加或删除列时自动调整受影响的列样式 通过 AddPicture 添加图片时 ,现已允许插入 SVG 格式图片兼容性提升
流式写入单元格时将以行内字符类型存储字符型单元格的值 ,相关 issue #1377 保存工作簿时将跳过工作表中的不带有样式和属性的空白行 ,以减少生成文档的体积 ,相关 issue #1383问题修复
修复部分情况下读取带有内建数字格式样式的浮点数精度有误问题,解决 issue #1328 ,#1368 和 #1373 修复部分情况下读取带有 AM/PM 数字格式样式的单元格有误问题 ,解决 issue #1338 修复部分情况下删除批注时由于数组下标越界导致的 panic,解决 issue #1343 修复部分情况下读取单元格的值时出现 panic 的问题 ,解决 issue #1384 和 #1415 修复部分情况下误将文本解析为浮点型数值的问题 ,解决 issue #1360 修复使用空字符创建工作表后生成的工作簿损坏问题 ,解决 issue #1361 修复向工作表添加图片后 ,获取该图片内容为空的问题 修复部分情况下插入行列后生成的工作簿损坏问题 删除单元格公式时将删除公式计算链中的共享单元格引用 ,以修复部分情况下生成的文档损坏问题 修复部分情况下未对工作表名称特殊字符及长度做正确处理的问题 ,解决 issue #1328 修复部分情况下公式函数 OR 计算结果有误的问题 修复在带有单一单元格区域引用的工作表中插入行列时 ,将收到异常的问题 修复获取带有单一单元格区域引用合并单元格区域时 ,收到异常的问题 修复部分情况下读取富文本单元格的值不完整问题 修复流式写入时未转义 XML 字符导致的文档损坏问题 ,解决 issue #1391 修复公式计算函数 ADDRESS 在工作表名称为空时计算结果有误的问题 ,解决 issue #1396 修复部分情况下添加图片结果有误的问题 ,解决 issue #1404性能优化
提高流式合并单元格性能 ,相较于上一版本,耗时最高降低约 90% ,内存使用最高减少约 86% 优化按行流式写入工作表 SetRow 函数的性能 ,相较于上一版本,耗时最高降低约 19%其他
Go Modules 依赖模块更新 单元测试与文档更新 优化内部变量与函数命名 包含简体中文 、英语 、法语 、俄语 、日语 、韩语 、阿拉伯语 、德语和西班牙语的多国语言文档网站更新致谢
感谢 Excelize 的所有贡献者 ,以下是为此版本提交代码的贡献者列表:
cdenicola (Cooper de Nicola) chenliu1993 davidborry patsak (Kostya Privezentsev) dafengge0913 Beeb0p (Artem Tarasenko) invzhi zhangzitao (Zitao) jtwatson (Joseph Watson) carbin-gun (charles.deng) harrison3000 (Harrison) strivek (GaoFei) gonghaibinx martinmr (Martin Martinez Rivera) zclark (Zach Clark) March0715 (March) renxiaotu devloppper jianxinhou nesstord Bayzet (Bayzet Tlyupov) guoweikuang (郭伟匡) qinyuguang (Gin) liron-l (Liron Levin)欢迎加入 Slack 频道、Telegram 群组 或技术交流群 DingTalk Group ID: 30047129 QQ Group ID: 207895940
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!