メイン画像

EPPlus - Excelファイルを開く

EPPlus - Excelファイルを開く


EPPlus でブックを開く方法を紹介する。

サンプルの動作確認には、以下の環境を利用した。

  • .NET Framework 4.8
  • EPPlus 4.5.3.3
    (商用利用できる最後のバージョン)

ブックを開く(FileInfo 指定)

ExcelPackage のコンストラクタに FileInfo を指定して開く。

var fi = new FileInfo(@"C:\tmp\EPPlus\Book1.xlsx");

using (var package = new ExcelPackage(fi))
{
    // TODO: 処理を書く
}

ブックを開く(Stream 指定)

Stream を使う場合、次のいずれかの方法で開くことができる。

  • ExcelPackage のコンストラクタを使う
  • ExcelPackage.Load メソッドを使う

ExcelPackage のコンストラクタに Stream を指定して開く

using (var stream = new FileStream(@"C:\tmp\EPPlus\Book1.xlsx",
                                   FileMode.Open))
{
    using (var package = new ExcelPackage(stream))
    {
        // TODO: 処理を書く
    }
}

ExcelPackage.Load メソッドに Stream を指定して開く

using (var package = new ExcelPackage())
{
    using (var stream = new FileStream(@"C:\tmp\EPPlus\Book1.xlsx",
                                       FileMode.Open))
    {
        package.Load(stream);
    }

    // TODO: 処理を書く
}

パスワード付きブックを開く

読み取りパスワードが設定されたブックを開く場合、開くときにパスワードを一緒に指定すればよい。

ExcelPackage のコンストラクタの第2引数にパスワードを指定する。

var fi = new FileInfo(@"C:\tmp\EPPlus\Book2.xlsx");

using (var package = new ExcelPackage(fi, "12345678"))
{

Stream を指定する場合も同様で、ExcelPackage のコンストラクタの第2引数にパスワードを指定する。

using (var stream = new FileStream(@"C:\tmp\EPPlus\Book2.xlsx",
                                   FileMode.Open))
{
    using (var package = new ExcelPackage(stream, "12345678"))
    {

ExcelPackage.Load メソッドを使う場合、メソッドの第2引数にパスワードを指定する。

package.Load(stream, "12345678");

パスワードに誤りがある場合は、System.Security.SecurityException: 'Invalid password' が発生する。

まとめ

Excel ブックを読み取り専用で開きたいときは Stream 指定で開くようにする。
そうでないときは FileInfo 指定で開けばよいだろう。

ブックを開けたので、次は保存する方法をまとめたい。


アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事