找回密码
 立即注册

QQ登录

只需一步,快速开始

tysoft

中级会员

84

主题

214

帖子

678

积分

中级会员

积分
678

活字格认证微信认证勋章元老葡萄

tysoft
中级会员   /  发表于:2017-6-12 15:38  /   查看:4533  /  回复:5
如题,导出时报错,流不支持写入
代码
  1. private void DoExport()
  2.         {
  3.             SaveFileDialog dlg = new SaveFileDialog();
  4.             dlg.Filter = "xlsx files (*.xlsx)|*.xlsx|All files (*.*)|*.*";
  5.             if (dlg.ShowDialog() != DialogResult.OK)
  6.                 return;

  7.             fg_GL.SaveExcel(dlg.FileName, FileFlags.IncludeFixedCells | FileFlags.VisibleOnly | FileFlags.AsDisplayed
  8.                 | FileFlags.IncludeMergedRanges | FileFlags.OpenXml); //OpenXml:Load or save file in OpenXml (Office 2007) format
  9.         }
复制代码
错误日志
  1. System.NotSupportedException: 流不支持写入。
  2.    在 System.IO.FileStream.SetLength(Int64 value)
  3.    在 #CW.#tZ.#sZ()
  4.    在 #CW.#tZ.Close()
  5.    在 #CW.#NY.Add(Stream #uY, String #oX, DateTime #pX)
  6.    在 #CW.#NX.Add(Stream #Cf, String #oX)
  7.    在 #n.#KA.#Pd(#NY #ky)
  8.    在 #n.#KA.#Pd(String #Af)
  9.    在 #n.#Gg.#gg(String #Af)
  10.    在 #n.#Gg.#Pd(String #Af, #3d #lf)
  11.    在 #s5.#0lb.#Vlb(C1FlexGridBase #Llb, String #Af, String #rF, FileFlags #pC, PrinterSettings #Wlb)
  12.    在 C1.Win.C1FlexGrid.C1FlexGridBase.SaveExcel(String fileName, FileFlags flags)
  13.    在 TY.Acnt.Aux.BalanceInit.FrmAccountBalanceInit.DoExport()
  14.    在 TY.Acnt.Aux.BalanceInit.FrmAccountBalanceInit.Export(Object parm)
复制代码



5 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2017-6-12 18:03:34
沙发
您好,按照你的写法,我们这边测试没有问题,没有能重现您提的问题,能否将你的问题做成一个Demo发给我们,以便帮您解决。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
tysoft
中级会员   /  发表于:2017-6-12 18:43:54
板凳
你好,这个bug是我们测试人员测试出来的,我现在回归测试也没有测出来,而且测试人员反映也不是一直都报这个错误,只是偶尔会出现这种情况
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-6-13 08:46:33
地板
好的,您的反馈我们已经收到,我们会把这个反馈给产品组,还有就是在每次导出的时候是不是已存在相同文件名的文件且是打开的,这样的话是会有这样的错误。希望能帮到您。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
tysoft
中级会员   /  发表于:2017-6-13 09:21:14
5#
可以确定不是存在相同文件名且文件打开的这种情况,这种情况的报错信息是不一样的,下面是这种情况的报错信息
  1. ERROR [2017-06-13 09:18:06,866] TY.Acnt.Aux.BalanceSheet.FrmAccountBalance:383 导出失败
  2. System.IO.IOException: 文件“C:\Users\caigx\Desktop\12.xlsx”正由另一进程使用,因此该进程无法访问此文件。
  3.    在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
  4.    在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
  5.    在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
  6.    在 System.IO.FileStream..ctor(String path, FileMode mode)
  7.    在 #CW.#NY.#rs(String #Af)
  8.    在 #CW.#NY..ctor(String fileName, Boolean create)
  9.    在 #n.#KA.#Pd(String #Af)
  10.    在 #n.#Gg.#gg(String #Af)
  11.    在 #n.#Gg.#Pd(String #Af, #3d #lf)
  12.    在 #s5.#0lb.#Vlb(C1FlexGridBase #Llb, String #Af, String #rF, FileFlags #pC, PrinterSettings #Wlb)
  13.    在 C1.Win.C1FlexGrid.C1FlexGridBase.SaveExcel(String fileName, FileFlags flags)
  14.    在 TY.Acnt.Aux.BalanceSheet.FrmAccountBalance.DoExport() 位置 e:\AntelopWorkspace\TY.Acnt.Aux.BalanceSheet\FrmAccountBalance.cs:行号 414
  15.    在 TY.Acnt.Aux.BalanceSheet.FrmAccountBalance.Export(Object parm) 位置 e:\AntelopWorkspace\TY.Acnt.Aux.BalanceSheet\FrmAccountBalance.cs:行号 383
复制代码
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2017-6-13 09:46:02
6#
好的,收到,我会反馈您的问题,有相关消息我会及时告知您!
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部