Skip to content

Feature/magicodes ie io pre commit review (#619)#620

Merged
hueifeng merged 2 commits into
masterfrom
develop
Jul 12, 2026
Merged

Feature/magicodes ie io pre commit review (#619)#620
hueifeng merged 2 commits into
masterfrom
develop

Conversation

@hueifeng

Copy link
Copy Markdown
Member
  • feat(IO): 新增并实现 Magicodes.IE.IO 包(零 EPPlus 自写流式 xlsx writer/reader、模板导出、表格、低分配异步)

  • ci: IO 测试扩展为全平台矩阵(Linux/Windows/macOS × net8.0/net10.0),修复 check 门禁 allowed-skips 遗漏

  • fix: IO 测试项目缺失 GitHubActionsTestLogger 导致 CI --logger GitHubActions 报错

  • ci: 重构 CI 矩阵,三合一 test step,macOS 真失败检测,matrix 笛卡尔积更优雅

  • ci: IO 矩阵补全 net6.0(三平台) 和 net471(Windows)

  • fix: IO 测试 net471 兼容:添加 System.Memory,修复 File.ReadAllBytesAsync/WriteAllBytesAsync/Write/MemoryStream.Write/string.Replace API,NuGet 集成测试 #if NET 包裹

  • fix: IO 测试 net471 兼容(续):修复 IndexOf/EndsWith/Replace/StringComparison、Split/StringSplitOptions、await using(IAsyncDisposable),补 System.Runtime.CompilerServices.Unsafe

  • fix: IO 测试 net471 补 System.Buffers(ArrayBufferWriter/IBufferWriter),Guardrails 改用 byte[] + GetString(byte[],int,int) 规避 net471 无 Span 重载

  • fix: net471 补 ArrayBufferWriter polyfill(实现 System.Memory 提供的 IBufferWriter),移除无用的 System.Buffers 包引用

  • fix: IO 测试跨框架稳定性 - net471 double/decimal 格式差异改数值容差;net471 异步写失败注入跳过(平台限制);MiniExcel 临时文件锁加重试且 File.OpenRead 加 using 防句柄泄漏

  • chore: trigger CI

  • fix(IO): XlsxReader 支持 leaveOpen;Xlsx.Read(Stream) 实际释放传入流(与文档一致);新增对称的 Read(string)/ReadAsync(string) 路径重载并拥有释放 FileStream

  • feat(io): expose leaveOpen on Read/ReadAsync and WriteAsync(path) overload; fail fast on ZIP32 4GB limit

  • Xlsx.Read/ReadAsync 增加 leaveOpen 参数,默认释放流,可选保留\n- 新增 Xlsx.WriteAsync(path) 便利重载\n- ForwardOnlyZipWriter 在超过 ZIP32(4GB)上限时提前抛出清晰异常\n- Directory.Build.props NoWarn 加入 NU5119,使 TreatWarningsAsErrors 下打包成功\n- 补充 WriteAsync(path)/leaveOpen 保留与默认释放的单元测试
  • fix(io): honor RowFilter on async IAsyncEnumerable path when AutoSst is enabled
  • RunAsync 的 AutoSst 探测改用已过滤的 preparedData(原为原始 data),避免 RowFilter 被静默丢弃导致全量导出

  • 修正 WriteAsync(IAsyncEnumerable) XML 文档:去掉误导性的 concurrently 措辞

  • 新增回归测试 WriteAsync_AsyncEnumerable_AppliesRowFilter_WhenAutoSstEnabled(异步流+AutoSst+RowFilter 叠加)

hueifeng added 2 commits July 12, 2026 17:48
* feat(IO): 新增并实现 Magicodes.IE.IO 包(零 EPPlus 自写流式 xlsx writer/reader、模板导出、表格、低分配异步)

* ci: IO 测试扩展为全平台矩阵(Linux/Windows/macOS × net8.0/net10.0),修复 check 门禁 allowed-skips 遗漏

* fix: IO 测试项目缺失 GitHubActionsTestLogger 导致 CI --logger GitHubActions 报错

* ci: 重构 CI 矩阵,三合一 test step,macOS 真失败检测,matrix 笛卡尔积更优雅

* ci: IO 矩阵补全 net6.0(三平台) 和 net471(Windows)

* fix: IO 测试 net471 兼容:添加 System.Memory,修复 File.ReadAllBytesAsync/WriteAllBytesAsync/Write/MemoryStream.Write/string.Replace API,NuGet 集成测试 #if NET 包裹

* fix: IO 测试 net471 兼容(续):修复 IndexOf/EndsWith/Replace/StringComparison、Split/StringSplitOptions、await using(IAsyncDisposable),补 System.Runtime.CompilerServices.Unsafe

* fix: IO 测试 net471 补 System.Buffers(ArrayBufferWriter/IBufferWriter),Guardrails 改用 byte[] + GetString(byte[],int,int) 规避 net471 无 Span 重载

* fix: net471 补 ArrayBufferWriter<T> polyfill(实现 System.Memory 提供的 IBufferWriter<T>),移除无用的 System.Buffers 包引用

* fix: IO 测试跨框架稳定性 - net471 double/decimal 格式差异改数值容差;net471 异步写失败注入跳过(平台限制);MiniExcel 临时文件锁加重试且 File.OpenRead 加 using 防句柄泄漏

* chore: trigger CI

* fix(IO): XlsxReader 支持 leaveOpen;Xlsx.Read(Stream) 实际释放传入流(与文档一致);新增对称的 Read(string)/ReadAsync(string) 路径重载并拥有释放 FileStream

* feat(io): expose leaveOpen on Read/ReadAsync and WriteAsync(path) overload; fail fast on ZIP32 4GB limit

- Xlsx.Read/ReadAsync 增加 leaveOpen 参数,默认释放流,可选保留\n- 新增 Xlsx.WriteAsync(path) 便利重载\n- ForwardOnlyZipWriter 在超过 ZIP32(4GB)上限时提前抛出清晰异常\n- Directory.Build.props NoWarn 加入 NU5119,使 TreatWarningsAsErrors 下打包成功\n- 补充 WriteAsync(path)/leaveOpen 保留与默认释放的单元测试

* fix(io): honor RowFilter on async IAsyncEnumerable path when AutoSst is enabled

- RunAsync 的 AutoSst 探测改用已过滤的 preparedData(原为原始 data),避免 RowFilter 被静默丢弃导致全量导出

- 修正 WriteAsync(IAsyncEnumerable) XML 文档:去掉误导性的 concurrently 措辞

- 新增回归测试 WriteAsync_AsyncEnumerable_AppliesRowFilter_WhenAutoSstEnabled(异步流+AutoSst+RowFilter 叠加)
@hueifeng hueifeng merged commit 70774a5 into master Jul 12, 2026
65 checks passed
@hueifeng hueifeng deleted the develop branch July 12, 2026 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant