読者です 読者をやめる 読者になる 読者になる

ExcelCreator は例外を投げてくれない

ExcelCreator を使って Excel ファイルを出力するとき、同名のファイルが開かれていても例外が発生しません。.NET のクラスなら、例えば IOException が発生するのに…。というか、全く例外を投げてくれない><

エラーが発生したかどうかを知るには、Error イベントを利用します。エラーの種類はイベント引数の ErrorNo プロパティを見て判断。

XlsCreator creator = new XlsCreator();
creator.Error += delegate(object sender, XlsCreatorEventArgs e)
{
    if (e.ErrorNo == xlErrorNo.errDontOpen)
    {
        // ファイルを開けなかったときの処理を行う
    }
};

XlsCreator にも ErrorNo プロパティがあるので、この値を見てエラー処理を行う方法もあります。

XlsCreator creator = new XlsCreator();
creator.OpenBook(filename, overlay);
if (creator.ErrorNo == xlErrorNo.errDontOpen)
{
    // ファイルを開けなかったときの処理
}