发邮件的两个疑问

-一个大坑 2018-03-24 05:19:09

tempname = Server.MapPath("./ATTExcel");
tempname = tempname + Convert.ToString(DateTime.Now.Year) + Convert.ToString(DateTime.Now.Month) + Convert.ToString(DateTime.Now.Day) + Convert.ToString(DateTime.Now.Hour) + Convert.ToString(DateTime.Now.Minute) + Convert.ToString(DateTime.Now.Second) + ".xls";
FileUpload1.SaveAs(tempname);

我在该路径(tempname)下没看到xls文件,把路径放到电脑地址栏能打开excle文件。为什么,难道是隐藏着?


sPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";

OleDbDataAdapter adp = new OleDbDataAdapter("Select * from [Sheet1$]", sPath);
adp.Fill(ds, "Book1");
adp.Dispose();

我把excel文件读取到ds后就关闭了,但是发邮件时还是报错,说该文件正在被其他进程使用
The process cannot access the file 'D:\DORM_QAS\Security\ATTExcel201832417259.xls' because it is being used by another process.
...全文
613 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wubing1111 2018-03-28
  • 打赏
  • 举报
回复
你打开任务管理器里面应该有个Excel在运行,结束试试。 最好写程式时读完Kill掉。
lovebaby 2018-03-26
  • 打赏
  • 举报
回复
文件读取完毕要关闭,如果不用读取就直接做为附件发送吧。
return false 2018-03-26
  • 打赏
  • 举报
回复
读取完要关闭,要不然打开文件就会提示管理员正在编辑。我用的gc
正怒月神 版主 2018-03-26
  • 打赏
  • 举报
回复
你是怎么读取这个excel的? 应该调用OleDbConnection 的 close方法。
-一个大坑 2018-03-26
  • 打赏
  • 举报
回复
引用 2 楼 mkbaoquan 的回复:
你是想干嘛 ?是想把这个EXCEL 当成附件来发送吗 ?那为什么你要读取 ?读取的话肯定也没有问题的 。你再看看代码的顺序 是不是释放的位置和 顺序不对 。
本来是要读取文件内容的。但是现在又要把附件发邮件给管理员
-一个大坑 2018-03-26
  • 打赏
  • 举报
回复
Jason_Mao1 2018-03-26
  • 打赏
  • 举报
回复
你是想干嘛 ?是想把这个EXCEL 当成附件来发送吗 ?那为什么你要读取 ?读取的话肯定也没有问题的 。你再看看代码的顺序 是不是释放的位置和 顺序不对 。
-一个大坑 2018-03-26
  • 打赏
  • 举报
回复
引用 4 楼 hanjun0612 的回复:
你是怎么读取这个excel的? 应该调用OleDbConnection 的 close方法。
搞错了,是因为我把附件添加到邮件发送,后面删除user上传的附件报错,不是发送邮件是添加附件报错 我添加到邮件附件后怎么断开对文件的使用,好可以删除? 如果没办法就只能上传之前先删一次那个excel再上传

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧