先写一个大概的意思。
咱们一起写的机房导出还是在其他的bs项目中的导出excel。基本是这样, 程序填入信息到excel,直接生成在本机上, 离线下载是这样的。程序一步一步的添加记录到excel,生成excel,放到了服务器(发布网站的电脑)。生产之后呢,然后瞬时在调用一个方法,本地到服务器取excel,在本地下载之后,然后删除服务器的excel。
如记录少,没有什么感觉,如果是大量的数据,这样就会一直转圈圈,这个页面就锁这了。
这个怎么解决呢?其实也简单,一个单击事件就是一个主线程,然后在起一个子线程,并且把这个导出的方法放到这个线程中就行了。把那个瞬时本地向服务器下载的方法注释。这样点击一下,就开始向服务器生产excel了。并且页面也不会被锁,可以进行其他的操作。然后来一个提示正在离线生成,请稍后到某个页面下载。
在子线程运作结束的时候,把这个生成的excel的路径,放到一个表中和excel名字绑定。这样到那个下载离线excel的表单中单击,这个excel名字就可以下载了。下载已经生成好的excel比等着生成快好多。
大概就是这个过程。明天把详细的代码。粘贴到这里。