首页 新闻 会员 周边 捐助

求asp.net导出excel一段代码的意思

0
悬赏园豆:5 [已解决问题] 解决于 2010-09-22 23:25

今天看到了这样一段导出Excel的代码,是以前的人留下来的,不太明白
,导出Excel是用模板的方法,直接插入数据


结尾时时这样写的

while (true)
{
  try
  {
      HttpContext.Current.Response.BinaryWrite(File.ReadAllBytes(tempFile));
      break;
  }
  catch{}
}

//删除临时文件
File.Delete(tempFile);

这段代码是不是有错啊,怎么样修改呢

999999999999999的主页 999999999999999 | 初学一级 | 园豆:3
提问于:2010-08-25 22:05
< >
分享
最佳答案
0

估计他就是想要这样的效果,实际上是不断尝试 tempFile 是否存在,我没猜错的话,应该是生成 tempFile 的代码不知道何时能执行完毕,但是又肯定会在足够短的时间内生成,比如1分钟。

收获园豆:5
Launcher | 高人七级 |园豆:45050 | 2010-08-25 22:49
其他回答(2)
0

这段代码本质上没错,不过上帝保佑服务器不会因此挂掉

Gray Zhang | 园豆:17610 (专家六级) | 2010-08-25 22:15
while (true) 如果HttpContext.Current.Response.BinaryWrite(File.ReadAllBytes(tempFile)); 如果我错误写成这样 HttpContext.Current.Response.BinaryWrite(File.ReadAllBytes(tempFile+“1”)); 抛出异常,那不是break;永远执行不了,进入死循环 ,怎样修改这段代码最安全,最合理呢
支持(0) 反对(0) 999999999999999 | 园豆:3 (初学一级) | 2010-08-25 22:30
就是不明白 while (true)有什么作用
支持(0) 反对(0) 999999999999999 | 园豆:3 (初学一级) | 2010-08-25 22:31
就是出错了无限重试的意思,写这代码的人也不容易啊,脑子装啥了……去掉while(true)就差不多了
支持(0) 反对(0) Gray Zhang | 园豆:17610 (专家六级) | 2010-08-25 22:40
0

学习了

忽然明白 | 园豆:80 (初学一级) | 2010-08-25 23:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册