7

C# で EPPlus を使用して Excel (.xlsx) ファイルを読み込んでいます。初期化は次のように行われます。

var package = new ExcelPackage(new FileInfo(filename));

これは正常に動作しますが、指定されたfilename、またはpackage実際に有効な .xlsx ファイルであるかどうかを確認する方法はありますか? そうしないと、ユーザーが誤って .zip ファイルを開いた場合など、Excel 以外のオブジェクトを操作するときに例外が発生します。

4

1 に答える 1

5

ファイルの拡張子を確認できます。

string file = @"C:\Users\Robert\Documents\Test.txt";

string extenstion = Path.GetExtension(file);

アップデート

EPPlus のドキュメントで一部のファイルを開けないという状況に対するある種の戻り値は見つかりませんでしたが、これを使用して例外をキャッチできます。

FileInfo fileInfo = new FileInfo(pathToYourFile);

ExcelPackage package = null;
try
{
    package = new ExcelPackage(fileInfo);
}
catch(Exception exception)
{
   ...
}

入っていない場合は、catch正しく開かれたことを意味します。

于 2013-02-20T15:13:55.023 に答える