You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中创建不存在的Excel文件时出现找不到文件错误

Excel Interop 找不到指定文件错误

代码示例

string path = "F:\\abc\\LoadData.xlsx";

Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel._Workbook workbook = null;

// 检查文件是否存在
if (!System.IO.File.Exists(path))                    
    workbook = app.Workbooks.Add(path);         
else
    workbook = app.Workbooks.Open(path, ReadOnly: false);
Microsoft.Office.Interop.Excel._Worksheet? worksheet = null;
app.Visible = false;
worksheet = workbook.Sheets["Sheet1"];
worksheet = workbook.ActiveSheet;

错误信息

抱歉,我们找不到F:\abc\LoadData.xlsx。它是否已被移动、重命名或删除?

错误截图:
错误截图

问题原因

Workbooks.Add(path)用法错误:该方法的参数是模板文件路径,而非要创建的新文件路径。当指定的模板文件不存在时,Excel会抛出找不到文件的异常。

解决方法

修改文件不存在时的逻辑,先创建空白工作簿再保存到目标路径,同时确保目标目录存在:

string path = "F:\\abc\\LoadData.xlsx";
Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel._Workbook workbook = null;
app.Visible = false;

// 确保目标目录存在
string directory = System.IO.Path.GetDirectoryName(path);
if (!System.IO.Directory.Exists(directory))
{
    System.IO.Directory.CreateDirectory(directory);
}

if (!System.IO.File.Exists(path))
{
    // 创建空白工作簿
    workbook = app.Workbooks.Add();
    // 保存到指定路径
    workbook.SaveAs(path);
}
else
{
    workbook = app.Workbooks.Open(path, ReadOnly: false);
}

// 获取或创建Sheet1
Microsoft.Office.Interop.Excel._Worksheet? worksheet = workbook.Sheets["Sheet1"];
if (worksheet == null)
{
    worksheet = workbook.Sheets.Add();
    worksheet.Name = "Sheet1";
}

// 后续业务逻辑...

// 释放资源(避免Excel进程残留)
workbook.Close();
app.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);

内容的提问来源于stack exchange,提问作者Shruti P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 10:25:11