xresloader

跨平台Excel导表工具(Excel=>protobuf/msgpack/lua/javascript/json/xml)

MIT License

Stars
263

Bot releases are visible (Hide)

xresloader - v2.17.0 Latest Release

Published by github-actions[bot] 3 months ago

CHANGELOG

  1. 增加 --disable-data-validator 允许跳过数据验证。
  2. 增加正则表达式验证器 Regex("正则表达式")
xresloader - v2.16.1

Published by github-actions[bot] 3 months ago

CHANGELOG

  1. 修复字段别名的一处错误
  2. 更新依赖库
    • com.google.protobuf -> 4.27.2
    • org.apache.poi -> 5.3.0
xresloader - v2.16.0

Published by github-actions[bot] 5 months ago

CHANGELOG

  1. 增加int32和uint32的范围检测。
  2. JSON和Javascript类型输出时,超过 2^53 和低于 -2^53 的值转为字符串类型表示。
  3. 修复无效的空行忽略提示(空通过Scheme JsonCfg-LargeNumberAsString=true/false 来控制)。
  4. 单例增加同步锁和ThreadLocal,预埋下个版本可能会增加内置的多线程并发。
  5. 增加 org.xresloader.field_allow_missing_in_plain_modeorg.xresloader.oneof_allow_missing_in_plain_mode 以允许Plain模式下部分字段可选
  6. 更新依赖库
    • jacoco-maven-plugin -> 0.8.12
    • maven-compiler-plugin -> 3.13.0
    • maven-shade-plugin -> 3.5.3
    • build-helper-maven-plugin -> 3.6.0
    • commons-cli -> 1.8.0
    • commons-codec -> 1.17.0
    • log4j -> 2.23.1
    • org.json -> 20240303
    • com.google.protobuf -> 4.27.0
    • commons-csv -> 1.11.0
xresloader - v2.15.1

Published by github-actions[bot] 8 months ago

CHANGELOG

  1. 修复转出bin类型数据时,所有字段都是默认值(转出的数据零字节)时,此行会被裁减掉的BUG。
  2. 修复Excel文件压缩率过高时无法打开文件的问题。
  3. 更新依赖库
  • maven-compiler-plugin -> 3.12.1
  • maven-surefire-plugin -> 3.2.5
  • build-helper-maven-plugin -> 3.5.0
  • commons-codec -> 1.16.1
  • log4j -> 2.22.1
  • msgpack-core -> 0.9.8
  • org.json ->20240205
  • com.google.protobuf -> 3.25.3
  • xmlsec -> 4.0.1
  • org.apache.poi -> 5.2.5
  • junit-jupiter-api -> 5.10.2
xresloader - v2.15.0

Published by github-actions[bot] 11 months ago

CHANGELOG

  1. 修订 DataVerifyInTableColumn 验证器的文件错误输出。
  2. 新增 org.xresloader.map_key_validatororg.xresloader.map_value_validator 插件用于设置map类型的内部字段验证器。
  3. 更新依赖库
  • org.jacoco.jacoco-maven-plugin -> 0.8.11
  • maven-surefire-plugin -> 3.2.2
  • maven-shade-plugin -> 3.5.1
  • commons-cli -> 1.6.0
  • log4j -> 2.22.0
  • msgpack-core -> 0.9.6
  • org.json -> 20231013
  • com.google.protobuf -> 3.25.1
  • org.apache.santuario -> 4.0.0
  • org.apache.poi -> 5.2.4
  • org.snakeyaml -> 2.7
  • org.junit.jupiter -> 5.10.1
xresloader - v2.14.1

Published by github-actions[bot] about 1 year ago

CHANGELOG

  1. 增加输出每个数据源的数据个数
  2. 修订数据源错误时的返回码
  3. 增加连续空行检测( --tolerate-max-empty-rows 可用于设置连续空行检测数量。 )
xresloader - v2.14.0

Published by github-actions[bot] about 1 year ago

CHANGELOG

  1. 修订数值类型数据错误导致的验证器Panic问题
  2. 从Excel读取浮点数支持 % ,读取整数支持 , 分隔符。
  3. 修订列名输出
  4. 包含 2.14.0-rc1 到 2.14.0-rc4 版本的所有内容
xresloader - v2.14.0-rc4

Published by github-actions[bot] about 1 year ago

CHANGELOG

  1. 修订老Scheme配置模式的输出格式
  2. 优化调整内部Validator变量名
  3. InTableColumn()InText() 验证器按需加载文件内容
  4. 验证器加载失败现在也返回错误
  5. 自定义验证规则改为首次使用时采取检测循环依赖
  6. 优化公式错误的输出消息
  7. 修订唯一性验证器显示的冲突行号少了1的问题。
  8. 自定义验证器增加 description 配置,用以支持自定义描述输出。
  9. 优化输出的列名
  10. 使用LRU算法来缓存缓存流式索引数据源表,增加 --data-source-lru-cache-rows 来控制LRU缓存大小。
xresloader - v2.14.0-rc3

Published by github-actions[bot] over 1 year ago

CHANGELOG

  1. 插件重命名 verifier -> validator
  2. 增加函数验证器: InText("文件名"[, 第几个字段[, \"字段分隔正则表达式\"]]) : 从文本文件(UTF-8编码),可以指定读第几个字段和用于字段分隔的正则表达式
  3. 增加函数验证器: InTableColumn("文件名", "Sheet名", 从第几行开始, 从第几列开始) : 从Excel数据列读取可用值,指定数据行和数据列
  4. 增加函数验证器: InTableColumn("文件名", "Sheet名", 从第几行开始, KeyRow, KeyValue) : 从Excel数据列读取可用值,指定数据行并通过某一行的的值获取数据列
  5. 增加选项 --validator-rules 用于指定自定义验证器组合
  6. 增加自定义索引器缓存,缓存30000行以下的表格,加快读取速度
xresloader - v2.14.0-rc2

Published by github-actions[bot] over 1 year ago

CHANGELOG

  1. org.xresloader.field_aliasorg.xresloader.enum_alias 允许多个别名
  2. 修订repeated字段映射使用别名的问题
  3. 增加 org.xresloader.field_not_null 插件和 org.xresloader.oneof_not_null 用以忽略Excel中指定数据为空的数据行
  4. 增加 org.xresloader.field_unique_tag 插件用以支持唯一性检测
  5. -p 支持传入多个pb文件 (#28)
xresloader - v2.14.0-rc1

Published by github-actions[bot] over 1 year ago

CHANGELOG

  1. 增加 org.xresloader.ue.ue_origin_type_name 来设置输出UE代码的原始类型
  2. 增加 org.xresloader.ue.ue_origin_type_default_value 来设置输出UE代码的原始类型的默认值
  3. 修复打包时 Discovered module-info.class. Shading will break its strong encapsulation. 的告警
  4. 允许在Excel同一列里配置多个字段,由转表工具自动复制
  5. 范围验证器支持 >数字, >=数字, <数字, <=数字 , 并且现在支持浮点数。
  6. 修复一处UE-Csv输出格式问题
  7. 更新 protobuf 到 3.23.3
  8. 更新 org.json 到 20230618
  9. 更新 commons-codec 到 1.16.0
  10. 更新 build-helper-maven-plugin 到 3.4.0
  11. 更新 maven-shade-plugin 到 3.4.0
  12. 更新 maven-surefire-plugin 到 3.1.2
xresloader - v2.13.1

Published by github-actions[bot] over 1 year ago

CHANGELOG

  1. 修订UE的FObjectFinder只能用于构造函数的问题。
    • 增加 UeCfg-EnableDefaultLoader 选项控制默认的Loader是否开启
    • 增加 org.xresloader.ue.default_loader=EN_LOADER_MODE_DEFAULT|EN_LOADER_MODE_ENABLE|EN_LOADER_MODE_DISABLE 选项控制单独的Message是否开启默认Loader
  2. 增加UE输出代码的额外包含头文件选项
    • 增加 UeCfg-IncludeHeader 选项,对所有输出的UE代码额外包含头文件
    • 增加 org.xresloader.ue.include_header 插件用于对于特定的Message额外附加包含文件
  3. 修复Lua输出 </ 时追加了冗余的 \ 导致转移错误的问题。
  4. 修复一处在Plain模式中oneof内使用enum类型时,无法导出输出的问题。
  5. 更新 org.jacoco.jacoco-maven-plugin 到 0.8.10
  6. 更新 org.apache.maven.plugins.maven-compiler-plugin 到 3.11.0
  7. 更新 maven-surefire-plugin 到 3.1.0
  8. 更新 org.apache.maven.plugins.maven-shade-plugin 到 3.4.1
  9. 更新 log4j 到 2.20.0
  10. 更新 protobuf 到 3.23.0
  11. 更新 org.apache.pdfbox 到 2.0.28
  12. 更新 org.apache.santuario.xmlsec 到 3.0.2
  13. 更新 org.dom4j 到 2.1.4
  14. 更新 org.apache.commons.commons-csv 到 1.10.0
  15. 更新 junit 到 5.9.3
xresloader - v2.13.0

Published by github-actions[bot] almost 2 years ago

CHANGELOG

  • 修复Excel文件过大时的报错和提示
  • 增加Javascript Patch数据的功能(感谢 @superwenda )
  • 允许多个数据源查找目录
  • 添加benchmark参考
xresloader - v2.12.1

Published by github-actions[bot] almost 2 years ago

CHANGELOG

  1. 更新 protobuf 到 3.21.9
  2. Json和UE-Json格式的输出保证有序
  3. 修复UE-Csv格式输出map类型时乱序的问题
xresloader - v2.12.0

Published by github-actions[bot] almost 2 years ago

CHANGELOG

  1. 特殊处理 TimestampDuration 类型的字符串转换
  2. 移除 UeCfg-RecursiveMode 选项
  3. 重构UE输出的数据生成模块,简化维护复杂度
  4. 修复lua输出UTF-8字符转义错误的问题
  5. 更新 protobuf 到 3.21.8
  6. 更新 org.apache.poi 到 5.2.3
  7. 更新 org.apache.pdfbox 到 2.0.27
  8. 更新 org.apache.santuario 到 3.0.1
  9. 更新 org.json 到 20220924
  10. 更新 org.apache.logging.log4j 到 2.19.0
  11. 更新 maven-shade-plugin 到 3.4.0
xresloader - v2.11.0-rc3

Published by github-actions[bot] about 2 years ago

CHANGELOG

  1. 更新 protobuf 到 3.21.5
  2. 更新 org.apache.logging.log4j 到 2.18.0
  3. 更新 org.apache.poi 到 5.2.2
  4. 更新 org.apache.santuario 到 3.0.0
  5. 更新 org.json 到 20220320
  6. 更新 commons-cli 到 1.5.0
  7. 更新 jacoco-maven-plugin 到 0.8.8
  8. 更新 maven-compiler-plugin 到 3.10.1
  9. 更新 maven-shade-plugin 到 3.3.0
  10. 更新 build-helper-maven-plugin 到 3.3.0
  11. 更新 org.msgpack.msgpack-core 到 0.9.3
  12. 更新 org.apache.pdfbox 到 2.0.26
  13. 抽离出协议为单独的子模块
  14. Java运行时要求升级到11
  15. 调整Example内UE输出代码路径。
  16. 修订UE-Csv模式输出时,无法转出 plain 模式的repeated message字段的BUG
  17. 裁剪数组尾部空元素 --list-strip-empty-tail ,对 Ue-Csv 模式输出可用了
  18. 默认使用 --disable-excel-formular 关闭公式实时计算,使用更高效的索引器
  19. 增加 --enable-string-macro 用于让Macro(文本替换),对字符串类型生效。或使用 --disable-string-macro 让Macro(文本替换),对字符串类型不生效。

默认不生效,批量转表工具中可以通过全局开启 --enable-string-macro ,特定表使用 --disable-string-macro 来实现默认开启字符串文本替换,特定表不替换

更新迁移指引

由于变更了默认的索引器,导致对Excel一些内置的数据类型处理和先前有一些差异。比如对于日期时间类型、百分率等。
现在会先转出原始的文本,再根据protocol的目标类型做转换。如果需要回退到老的POI索引,可以使用 --enable-excel-formular 选项切换到老的索引器。

xresloader - v2.11.0-rc2

Published by github-actions[bot] about 3 years ago

CHANGELOG

  1. 文本类型输出也增加Hash Code(和二进制输出的计算规则不同)
  2. 更新 org.apache.logging.log4j 到 2.14.1
  3. 更新 org.msgpack.msgpack-core 到 0.9.0
  4. 更新 org.json 到 20210307
  5. 更新 com.google.protobuf.protobuf-java 到 3.18.0
  6. 升级 org.apache.xmlbeans 到 5.0.0
  7. 更新 commons-csv 到 1.9.0
  8. 修复内置索引引擎为设置数据源目录的BUG(Thanks to vividkings)
  9. 增加 -r/--descriptor-print 选项,用于导出所有描述数据
  10. 修复 Plain 模式二进制输出enum数组的BUG
xresloader - v2.11.0-rc1

Published by github-actions[bot] over 3 years ago

CHANGELOG

  1. 修复在 Ue-Csv 和 Ue-Json 输出时, Excel存在空的合成Key单元格时会crash的BUG。
  2. 升级 org.apache.poi 到 5.0.0
  3. 升级 org.apache.xmlbeans 到 4.0.0
  4. 修复保留空list处理64位整数不正确的问题( Fixes #5 )
  5. --disable-empty-list--enable-empty-list 改为不推荐使用。新增 --list-keep-empty , --list-strip-all-empty--list-strip-empty-tail
  6. 新增 --list-strip-empty-tail 模式仅移List除尾部的空元素。(UE-Csv 模式暂不支持,预计rc3版本支持)
  7. 修订文本输出的排序规则,仅和Key有关,和Value无关。
  8. Plain模式的message数组允许指定下标。
  9. 优化公式存在不支持函数时的输出。
xresloader - v2.10.2

Published by github-actions[bot] over 3 years ago

CHANGELOG

  1. 修复 Ue-CsvUe-Json 输出时,结构名字和输出资源文件名不一致时生成的路径错误
  2. 生成的UE的加载代码允许自己指定Loader
xresloader - v2.10.0

Published by github-actions[bot] almost 4 years ago

CHANGELOG

  1. 增加 --enable-alias-mapping 选项,用于在映射Excel列到目标数据结构时,开启别名匹配。
  2. protobuf的枚举类型解析支持message内嵌enum。
  3. 对大文件处理每5000行打印一次进度日志。
  4. [实验性] 使用 --disable-excel-formular 关闭公式后,将采用流式读取机制索引数据,以降低内存开销。同时会关闭日期格式的探测。
  5. 优化公式错误时的处理流程,现在公式错误不会中断执行仅会打印出Warning。
  6. 更新 org.codehaus.mojo.build-helper-maven-plugin 到 3.2.0
  7. 更新 commons-codec 到 1.15
  8. 更新 org.msgpack.msgpack-core 到 0.8.22
  9. 更新 com.google.protobuf.protobuf-java 到 3.13.0
  10. 更新 org.apache.logging.log4j 到 2.14.0
  11. 更新 org.json 到 20201115
  12. 更新 com.google.protobuf 到 3.14.0