以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]导出报表时出现“流不支持“的提醒  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109447)

--  作者:tyconlance
--  发布时间:2017/11/12 13:35:00
--  [求助]导出报表时出现“流不支持“的提醒

此主题相关图片如下:error.jpg
按此在新窗口浏览图片

请教各位专家、大神,导出报表时总是出现”Stream does not support writing.“这样的错误提醒是怎么回事?
论坛里有关”流不支持“的相关解答都试了,没有用,还是老样子。。。
 
----”把之前发布的Publish目录删除干净后,再重新发布“  试了几次了, 没用
----“内存溢出” 只是导出十几行内容到excel报表,并且本机内存8G, 肯定不是内存不够
----“你尝试卸载foxtable重装看看。”  装了卸,卸了装,试了N多次,没用
---"权限问题" , "换一个文件夹试试",  这个肯定不是,看了权限没问题,换过文件夹了还是老样子, 并且又不是每次都失败,导出几行就好好的,导出几十行就出错
---- “ 用2003版xls没有问题,2007版XLSX出错” 这个我倒没试,主要是2003版本实在太老,并且现在自己用的是excel 2016,导出一个老掉牙的格式再转来转去实在太麻烦, 并且还需要导入,再把xlsx再转成xls才能导入,更麻烦了。
----" net framework 2.0" 及win7 64位兼容性问题, 这方面不太懂,不过自己装了2.0,最高4.0也装了,兼容性的勾也打了,该试的都试了,还是不行
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:new text document.txt

---- 然后还是试着换成xls格式,问题继续存在,所以应该也不是格式的问题,现在又出来新情况,看起来你是内在溢出,但查了下,并不是物理内存的问题,而是net framework或是SQL之类功能受限,导出的数据量看起来实在是少得可怜,怎么就溢出了呢,真是烦恼啊,求专家指教,这里先谢过啦
主要提醒是:" Exception of type \'System.OutOfMemoryException\' was thrown. 之前”Stream does not support writing.“这条提醒也会出现

此主题相关图片如下:error2.jpg
按此在新窗口浏览图片

[此贴子已经被作者于2017/11/12 14:29:52编辑过]

--  作者:有点甜
--  发布时间:2017/11/12 20:23:00
--  

1、代码改成

 

If Tables( "PDTbuffer").Current IsNot Nothing Then
    Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
    dlg.Filter= "Excel 文件|*.xlsx" \'设置筛选器
    If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
        Dim Book As New XLS.Book(ProjectPath & "Attachments\\FOBFullVersion.xlsx")
        Dim Sheet As XLS.Sheet = Book.Sheets(0) \'
        Book.Build() \'生成细节区
        Book.Save(dlg.FileName) \'保存工作簿
        Dim Proc As New Process \'打开工作簿
        Proc.File = dlg.FileName
        Proc.Start()
    End If
Else
    MessageBox.Show("Buffer表为空,请先导入数据")
End If

 

2、提示 \'System.OutOfMemoryException 就是内存溢出了,如果你excel里面引用了图片,而图片又太大太多的时候,就会出现这样的报错。