我需要从ado.net datatable(我通过db查询获得)中导出大量数据到excel。
我尝试了以下方式: 1.使用工作簿/工作表@服务器端创建excel对象...并使用内存流将整个文档写入客户端。
但是这给了我“内存异常”。 bcoz我的记忆流是如此巨大。
所以我用一种新的方式替换了它 - 如下:
将数据表中的每一行写为逗号分隔字符串到客户端。 所以,当我们得到每一行时...我们可以写到客户端..没有使用内存。
但通过这种方式,我们可以写入csv文件......不要超越......
我可以使用silverlight从服务器逐行获取数据,将其传递给客户端...在客户端构建excel。?
答案 0 :(得分:2)
答案 1 :(得分:0)
我会保留csv方法但写入文件而不是内存strea。在您创建文件后,我将使用TransmitFile将其发送到浏览器。您可以看到有关使用TransmitFile here的更多信息。