尝试使用File.Move移动文件时出现FileNotFound异常

时间:2014-11-08 18:36:10

标签: c# excel visual-studio-2013

我有一个包含2000多个MS Excel 2010 .XLSX电子表格的文件夹,我需要执行以下操作:

  • 我需要打开每个单独的文件

  • 复制单元格B4的内容(+每个文件在单元格B4上具有唯一内容),

  • 将单元格B4的内容附加到原始文件名

如何修复此错误,以便我可以成功重命名我的电子表格,如上所述?

//file rename code
DirectoryInfo d = new DirectoryInfo(@"C:\Torename\");
FileInfo[] infos = d.GetFiles();
foreach (FileInfo f in infos)
{

    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();

    Workbook wb = excel.Workbooks.Open(f.FullName);
    Worksheet excelSheet = wb.ActiveSheet;


    //Read the first cell
    string test = excelSheet.Cells[4, 2].Value.ToString();


    File.Move(f.Name, new_filename);

    ***Thank you for your assistance that did the trick

2 个答案:

答案 0 :(得分:2)

File.Move(f.FullName, new_filename);

你必须使用FullName,你需要完整的路径。

修改:不属于您的问题,但是:

我不确定Workbooks.Open是如何工作的,但如果遇到错误,可能会在重命名之前关闭该文件。

亚当斯也评论道。

答案 1 :(得分:0)

在移动之前关闭工作簿。确保释放与该文件关联的所有资源。 并确保使用名称

中的整个路径