Feature/magicodes ie io pre commit review#619
Merged
Conversation
3ad02ed to
0c4a5b0
Compare
…AllBytesAsync/Write/MemoryStream.Write/string.Replace API,NuGet 集成测试 #if NET 包裹
…Split/StringSplitOptions、await using(IAsyncDisposable),补 System.Runtime.CompilerServices.Unsafe
…uardrails 改用 byte[] + GetString(byte[],int,int) 规避 net471 无 Span 重载
…ferWriter<T>),移除无用的 System.Buffers 包引用
…台限制);MiniExcel 临时文件锁加重试且 File.OpenRead 加 using 防句柄泄漏
…称的 Read(string)/ReadAsync(string) 路径重载并拥有释放 FileStream
…rload; 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 保留与默认释放的单元测试
…is enabled - RunAsync 的 AutoSst 探测改用已过滤的 preparedData(原为原始 data),避免 RowFilter 被静默丢弃导致全量导出 - 修正 WriteAsync(IAsyncEnumerable) XML 文档:去掉误导性的 concurrently 措辞 - 新增回归测试 WriteAsync_AsyncEnumerable_AppliesRowFilter_WhenAutoSstEnabled(异步流+AutoSst+RowFilter 叠加)
hueifeng
added a commit
that referenced
this pull request
Jul 12, 2026
* 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 叠加)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat(IO): 新增并实现 Magicodes.IE.IO 包(零 EPPlus 自写流式 xlsx writer/reader、模板导出、表格、低分配异步)