C# 覆盖已有 Excel 文件:使用 SaveCopyAs() 方法
使用 C# 创建 Excel 文件时,如果遇到同名文件,可以使用 'SaveCopyAs()' 方法来实现直接覆盖内容。该方法首先将文件保存到一个临时文件中,然后再将临时文件改名为原文件名,从而达到覆盖同名文件的目的。以下示例代码展示了如何使用 'SaveCopyAs()' 方法实现文件覆盖:
using Excel = Microsoft.Office.Interop.Excel;
Excel.Application excelApp = new Excel.Application();
Excel.Workbook workbook = excelApp.Workbooks.Add();
Excel.Worksheet worksheet = workbook.ActiveSheet;
// 在工作表中添加数据
string fileName = "Sample.xlsx";
// 保存文件,如果有同名文件则覆盖
string tempFileName = "temp-" + fileName;
workbook.SaveCopyAs(tempFileName);
File.Delete(fileName);
File.Move(tempFileName, fileName);
workbook.Close();
excelApp.Quit();
在上面的代码中,我们使用了 'File' 类的 'Delete()' 和 'Move()' 方法,分别用于删除原文件和将临时文件改名为原文件名。
使用 'SaveCopyAs()' 方法覆盖已有 Excel 文件的步骤如下:
- 使用 'SaveCopyAs()' 方法将文件保存到一个临时文件中。
- 使用 'File.Delete()' 方法删除原文件。
- 使用 'File.Move()' 方法将临时文件改名为原文件名。
需要注意的是,在使用 'File.Delete()' 方法删除原文件之前,需要确保文件存在。否则会抛出异常。
原文地址: https://www.cveoy.top/t/topic/oYw3 著作权归作者所有。请勿转载和采集!