我有一个包含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
答案 0 :(得分:2)
File.Move(f.FullName, new_filename);
你必须使用FullName
,你需要完整的路径。
修改:不属于您的问题,但是:
我不确定Workbooks.Open
是如何工作的,但如果遇到错误,可能会在重命名之前关闭该文件。
亚当斯也评论道。
答案 1 :(得分:0)
在移动之前关闭工作簿。确保释放与该文件关联的所有资源。 并确保使用名称
中的整个路径