利用 Microsoft.Office.Interop.Excel 组件用来 在C#中替换文字时,会弹出window提示,怎么隐藏这个提示

flyso 2014-09-15 11:26:07
问题如图:



代码如下:

private string ReplaceExcel(string filePath, string strOld, string strNew)
{
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.ApplicationClass();
excel.Visible = false;

//excel.

string modelFile = filePath; //文件名
Workbook wb = excel.Workbooks._Open(modelFile, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
Worksheet xSheet = (Worksheet)wb.Sheets[1];
int icount = wb.Sheets.Count;
for (int i = 1; i <= icount; i++)
{
try
{
xSheet = (Worksheet)wb.Sheets[i];
object what = strOld; //查找字符串
object retxt = strNew; //替换字符串
xSheet.Cells.Replace(what, retxt, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//excel.Visible = false;
}
catch
{
}
}
object myNothing = Missing.Value;
object myFileName = HttpContext.Current.Server.MapPath(FLYSO.ToolKit.Fun.GetNo + ".xls");
try
{
wb.SaveAs(myFileName, myNothing, myNothing, myNothing, myNothing, myNothing,
XlSaveAsAccessMode.xlExclusive, myNothing, myNothing, myNothing, myNothing, myNothing);
NAR(xSheet);
wb.Close(false, Missing.Value, Missing.Value);
NAR(wb);
excel.Quit();
NAR(excel);
System.GC.Collect();
}
catch
{
FLYSO.ToolKit.alert.Message("操作Excel文档失败!");
}

//wb.Save();
//NAR(xSheet);
//wb.Close(false, Missing.Value, Missing.Value);
//NAR(wb);
//excel.Quit();
//NAR(excel);
//System.GC.Collect();
return myFileName.ToString();
}

private void NAR(object o)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(o);//强制释放一个对象
}
catch
{
}
finally
{
o = null;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string abc = ReplaceExcel(MapPath("ccc.xls"), "项目施工管理情况一览表", "项目施工管理情况一览表YTZ123");
Response.Write(abc + "成功!");
}


需要解决:屏蔽弹出提示框
现在程序执行都是OK的,替换也成功了,就是会出现那两个提示框,现在是怎么能屏蔽这两个提示框,让他不出现,不需要他提示
...全文
432 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyso 2014-09-15
  • 打赏
  • 举报
回复
引用 3 楼 diaodiaop 的回复:
你这是打开xls替换的?? 感觉好像你这是模拟手工操作 而不是后台啊..
是在后台替换啊,word方法也差不多,就没有提示,这excel就搞不懂非自己出来个提示,网上貌似都是用的这方法实现的文本替换
by_封爱 2014-09-15
  • 打赏
  • 举报
回复
你这是打开xls替换的?? 感觉好像你这是模拟手工操作 而不是后台啊..
flyso 2014-09-15
  • 打赏
  • 举报
回复
没有调试过,这也不是出错,只是不该提示的,本身程序执行后,打开excel看,确实已经替换了,应该来说无任何提示,他那提示是多余的,是不需要的
蝶恋花雨 2014-09-15
  • 打赏
  • 举报
回复
执行到哪一句出错的? object what = strOld; //查找字符串这句吗? 判断下然后执行替换
  • 打赏
  • 举报
回复
excel.DisplayAlerts = false;
flyso 2014-09-15
  • 打赏
  • 举报
回复
引用 6 楼 zmcici 的回复:
EXCEL有打开吗?,感觉你这个是因为服务器和客户端在同一电脑上的问题,试着用另一台电脑访问你本机运行,应该就没这提示了。
刚试了,确实在另一台电脑上执行没有提示,但服务器端有提示,而且要点确定,客户端这边程序才能执行完
flyso 2014-09-15
  • 打赏
  • 举报
回复
excel没有打开,服务器和客户端确实是一台电脑上,我看看用别的电脑试,谢谢
骑猪看海 2014-09-15
  • 打赏
  • 举报
回复
EXCEL有打开吗?,感觉你这个是因为服务器和客户端在同一电脑上的问题,试着用另一台电脑访问你本机运行,应该就没这提示了。
flyso 2014-09-15
  • 打赏
  • 举报
回复
有人知道吗。。。。。。。。。。。

62,046

社区成员

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

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

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

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