在Excel自动化中,如何在文件打开时优雅地处理无效的文件格式错误?

时间:2008-12-24 06:44:58

标签: c# excel officedev

我正在尝试使用'excelApp.Workbooks.Open()'方法在C#程序中打开Microsoft Excel文件。碰巧的是,如果文件的格式无效,则此方法会显示错误消息框。但是,我不希望这样;我希望在我自己的代码中优雅地处理这个错误。

我的问题是,我该怎么做?

上述方法不会抛出任何我能捕获的异常。即使它确实如此,仍然有那个讨厌的消息框。所以也许唯一的方法是在打开之前验证文件格式。那么,Excel API中有另一种允许这种验证的方法吗?

1 个答案:

答案 0 :(得分:2)

很抱歉,我无法使用Excel 2007模拟损坏的xls文件示例。

在调用Workbooks.Open ...

之前尝试Application.DisplayAlerts = False

如果无法打开工作簿,则返回的值将为null (即工作簿wkb = Workbooks.Open(....); 当DisplayAlerts = False并且文件无法打开时,wkb将为null

这完全基于我对excel对象模型的理解。