System.Diagnostics.Process.Start(filepath)调用出错

gogocsgogodn 2007-08-17 09:50:37
D:\xlsfiles\20070817094439招标工作完成情况表.xls/////System.ComponentModel.Win32Exception: 系统找不到指定的文件。 at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at BidManage_DataAnalyze_ExcelReport.Openfile(String path) at BidManage_DataAnalyze_ExcelReport.Page_Load(Object sender, EventArgs e)
上面是抛出的错误
功能是生成EXCEL报表后存放到D:\xlsfiles下,顺便打开文件
代码如下 在本地怎么都可以 放到服务器上就报上面的错,但是服务器上D:\xlsfiles\20070817094439招标工作完成情况表.xls已经生成了,就是不打开
System.Diagnostics.Process ps = new System.Diagnostics.Process();
ps.StartInfo.FileName = path; //文件路径
ps.Start();
ps.Dispose();
在网上查了下 还是不行
...全文
1228 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zhoupeng12 2010-07-16
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 gogocsgogodn 的回复:]
解决了 是服务器配置问题 权限问题
[/Quote]
我想问一下怎么配置呀,我现在也碰到这样的问题了,急等。。。
Zhoupeng12 2010-07-16
  • 打赏
  • 举报
回复
怎么设置服务器的权限阿?
gogocsgogodn 2007-08-27
  • 打赏
  • 举报
回复
解决了 是服务器配置问题 权限问题
showmy 2007-08-18
  • 打赏
  • 举报
回复
jf up 学习
gogocsgogodn 2007-08-17
  • 打赏
  • 举报
回复
但是我就不明白 所有的方法本地都OK 到服务器上就是不行 郁闷
BearRui 2007-08-17
  • 打赏
  • 举报
回复
拒绝访问的原因是你的文件正在被访问,应该是把报表保存成文件的代码还站这个文件,没有释放资源,所以就拒绝访问了。
MasDn 2007-08-17
  • 打赏
  • 举报
回复
直接打开文件?当然出错啦 打开Excel程序 给他路径啊
gogocsgogodn 2007-08-17
  • 打赏
  • 举报
回复
System.Diagnostics.Process.Start("EXCEL.EXE",path);也不行 本机都可以 到服务器上就不行

D:\xlsfiles\20070817101615招标工作完成情况表.xls/////System.ComponentModel.Win32Exception: 拒绝访问。 at System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited) at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited) at System.Diagnostics.Process.GetProcessTimes() at System.Diagnostics.Process.get_StartTime() at ExcelOperate.Dispose(_Worksheet CurSheet, _Workbook CurBook, _Application CurExcel) at BidManage_DataAnalyze_ExcelReport.Page_Load(Object sender, EventArgs e)

这回的拒绝访问了 应该不会出现访问权限的问题啊 我在服务器上直接运行的
yuchangmao 2007-08-17
  • 打赏
  • 举报
回复
会不会是权限问题
gogocsgogodn 2007-08-17
  • 打赏
  • 举报
回复

System.Diagnostics.Process.Start(path);不行
BearRui 2007-08-17
  • 打赏
  • 举报
回复
直接这样试试:(不用new Process)

Process.Start(path);

还有就是确定在你调用Process.Start的时候,你的生成EXCEL报表文件已经生成成功了
gogocsgogodn 2007-08-17
  • 打赏
  • 举报
回复
但是我本地是可以的呀,网上资料都是提到给个路径也行的,我的是EXCEL打开
System.Diagnostics.Process.Start("Excel.exe",patch);我再试下
gogocsgogodn 2007-08-17
  • 打赏
  • 举报
回复
哪位仁兄进来看下撒
ccp5780199 2007-08-17
  • 打赏
  • 举报
回复
System.Diagnostics.Process.Start(patch);

比如要打开文件夹System.Diagnostics.Process.Start("Explorer.exe",patch);
gogocsgogodn 2007-08-17
  • 打赏
  • 举报
回复
自己先顶下了
gogocsgogodn 2007-08-17
  • 打赏
  • 举报
回复
继续顶

62,074

社区成员

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

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

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

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