我得到错误时,创建一个新的Excel文件,如果该文件不存在于C#

e1xvtsh3  于 2023-05-19  发布在  C#
关注(0)|答案(1)|浏览(207)
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;

//Checking if the file is already exists

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。您访问的页面是否已被删除、更名或删除?
以下是我得到的错误:

lb3vh1jj

lb3vh1jj1#

在下面的代码行中引发异常:

workbook = app.Workbooks.Add(path);

如果找不到指定的文件,则会创建一个新的工作簿。但是你传递了一个不存在的模板文件路径。Workbooks.Add方法创建一个新的工作簿,新工作簿将成为活动工作簿。可选参数确定如何创建新工作簿。如果此参数是指定现有Microsoft Excel文件名称的字符串,则将使用指定的文件作为模板创建新工作簿。
因此,当磁盘上不存在文件时,您的代码应该如下所示:

//Checking if the file is already exists

if (!System.IO.File.Exists(path))                    
    workbook = app.Workbooks.Add();         
else
    workbook = app.Workbooks.Open(path, ReadOnly: false);

相关问题