C# 从.NET将大量数据导出到Word

C# 从.NET将大量数据导出到Word,c#,asp.net,.net,C#,Asp.net,.net,我记得前一段时间我在导出到Excel时遇到了类似的问题,我没有增加超时时间,而是以某种方式设置了一些内容,在向用户显示文件之前,不要等到所有内容都写入内存,这就解决了大量数据超时问题 我不确定我的解释是否正确,但如果有人知道如何做到这一点,我将非常感谢你的帮助 现在我有以下几点: docDataSet = m_DataAccess.GetDataSet(adhocSQL) response.Clear() response.

我记得前一段时间我在导出到Excel时遇到了类似的问题,我没有增加超时时间,而是以某种方式设置了一些内容,在向用户显示文件之前,不要等到所有内容都写入内存,这就解决了大量数据超时问题

我不确定我的解释是否正确,但如果有人知道如何做到这一点,我将非常感谢你的帮助

现在我有以下几点:

 docDataSet = m_DataAccess.GetDataSet(adhocSQL)
           response.Clear()
                        response.ContentType = "application/vnd.ms-word"
                        response.AddHeader("Content-Disposition", "attachment; filename=MyFile.doc")
 For Each dr As DataRow In docDataSet.Tables(0).Rows
'lots of rows and columns here
response.Write(dr("lotsofdatahere"))
next
     response.Charset = ""
                        response.End()

据我所知,你只是简单的回应。写一些数据,让浏览器打开Word

我要做的几件事是首先确定有多少数据将进入浏览器,这样你就可以告诉浏览器它正在下载的文件有多大。这有助于确定剩余时间等


然后在X个response.write迭代次数之后执行
response.Flush()。通过这种方式,数据将从web服务器的内存中刷新,并实际写回客户端。

我认为最好的解决方案是使用reporting services,这将更容易。

您是否查看了本页右下角相关的
部分中的
帖子。。?查看此链接了解一些想法。这看起来和我现在做的一样,只是它使用了StringWriter。这就是你的意思吗?