C#对EXCEL的操作,首先打开一个EXCEL文件,操作后保存,文件保存的默认路径竟然不是打开的文件路径?
(注:有些机器保存的路径是打开的文件的路径)
请问这是为什么?部分代码如下: Excel.Application xlsApp = new Excel.Application();
                Excel.Workbook xlsBook = xlsApp.Workbooks.Open(strFile, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing);
 string fileName1 = xlsBook.FullName;
 xlsBook.Save();
string fileName2 = xlsBook.FullName;
 xlsBook.Close(false, System.Type.Missing, System.Type.Missing);    现在问题是fileName1 != fileName2;
但有些电脑上确相等,请问为什么?怎样解决?

解决方案 »

  1.   

    没有碰到过这样的问题,不过Excel打开文件比较特别,有的时候会创建一个缓存副本,是不是有这样的原因。
      

  2.   

    把eacel文件复制到其他文件夹,打开一副本操作保存
    book=(Excel._Workbook)app.Workbooks.Open(strPath,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,
    Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
    sheet=(Excel._Worksheet)book.Sheets[1];book.Save();
    book.Close(null,null,null);
    app.Workbooks.Close();
      

  3.   

    你的strFile是包含全路径名称吗?
      

  4.   

    谢谢,问题是我打开一个文件,操作后book.Save(); 默认保存到另外一个目录C:\Documents and Settings\Administrator\My Documents,而文件本来的目录是在D:\……;文件的路径没有问题的!
      

  5.   

    很简单,在命名文名是就可以将路径包涵在内,因为文件名也是作为字符串来处理的,如filename="c:\\name.xls",这样就可以在c盘下生成name.xls文件了,so easy!