none
C#中如何让系统自动关闭文件? RRS feed

  • 问题

  • C#中如何判断一个文件是否打开,如果是打开的,怎么让系统把文件内容保存,并且关闭文件(各种Office文件),跪求高手指点。。。
    2010年5月24日 6:17

答案

全部回复

  • 你好!

         简单的实现可以利用try...catch,尝试向这个文件中写数据,如果抛出异常,说明文件已经被其他程序使用了!


    周雪峰
    • 已标记为答案 YellowSky 2010年5月25日 1:52
    • 取消答案标记 YellowSky 2010年5月25日 1:52
    2010年5月24日 14:32
    版主
  • 如果是打开的,怎么让系统把文件内容保存,并且关闭文件(各种Office文件)?有没有什么方法啊?

     

    2010年5月25日 0:58
  • 你好 如果是office 文件可以通过interop来实现保存

    比如 我这篇文章保存Excel文件http://hi.baidu.com/1987raymond/blog/item/93ece962fe2f1bd6e7113a31.html

    创建Workbook 的实例然后将其保存

    /// <summary>
    /// 保存Excel
    /// </summary>
    /// <param name="filePath">文件的绝对路径</param>
    public void SaveAs(string filePath)
    {
    this.CurrentWorkbook.SaveAs(filePath, Xls.XlFileFormat.xlWorkbookNormal, missing, missing, missing,
    missing, Xls.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);
    }


    I see you~http://hi.baidu.com/1987raymondMy Blog~~~
    • 已标记为答案 YellowSky 2010年5月25日 1:52
    2010年5月25日 1:26
    版主