本帖最后由 guoguo1 于 2025-11-20 10:46 编辑
一、核心问题描述
使用 C1FlexGrid 控件的 SaveExcel 方法,指定 FileFlags.OpenXml 参数输出.xlsx 格式文件到网络文件夹时,触发 “流不支持写入操作” 报错;但输出 XLS/CSV 格式、输出到本地文件夹、先存本地再复制到网络文件夹,均无异常,且报错表现存在场景差异性。
二、关键环境与代码信息
1. 控件与方法信息- 控件:C1.Win.C1FlexGrid.4
- 调用方法:public void SaveExcel(string fileName, string sheetName, FileFlags flags);
- 实际调用代码:
this.SaveExcel(dlgSave.FileName, "Sheet1", FileFlags.VisibleOnly | FileFlags.IncludeFixedCells | FileFlags.IncludeMergedRanges | FileFlags.AsDisplayed | FileFlags.OpenXml);
2. 报错详情
3. 运行环境
- 客户端系统:Windows 11
- 访问场景:内网、VPN
三、具体现象差异(关键排查点)- 格式差异:仅.xlsx 报错,XLS、CSV 格式输出到网络文件夹无问题;
- 存储位置差异:.xlsx 输出到本地文件夹正常,直接输出到网络文件夹报错;
- 访问场景差异:部分用户内网访问时可正常输出.xlsx 到网络文件夹,VPN 访问时必现报错;
- 设备差异:不同客户端表现不一致:
- 部分电脑:一直正常
- 部分电脑:时好时坏
- 部分电脑:一直报错
四、已排查操作- 权限验证:客户端用户均具备网络文件夹的 “写入” 权限。
- 网络验证:报错时网络文件夹可正常访问(能打开、新建文件夹),排除完全断连问题。
- C1.C1Excel.4.8.dll在任何情况下都不存在问题。
五、问题
- 想咨询下这个问题可能是由什么原因造成的及有什么对应方案。
|