LoginSignup
24
19

More than 5 years have passed since last update.

EPPlusを使ったExcel Hello World

Last updated at Posted at 2014-11-03

EPPlusはOpen XMLの仕様を元にExcelのデータ操作を行う為の.NET Framework向けのオープンソースライブラリです。Open XMLの仕様を元にXMLデータを直接操作するのでExcelのインストールやライセンスは必要ありませんし、サーバーサイドで使用した場合の種々の問題もありません。ただし、Open XMLの仕様に依存するので、2007以降の.xlsx形式のファイルのみ扱え、それ以前の.xlsのファイルは扱えません。

また、ライブラリはNuGetを使ってプロジェクトに追加できます。

以下にExcelファイルを作り、Helloというワークシートを追加、A1セルにHello Worldを書き込んで保存するサンプルを載せます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Drawing;

using OfficeOpenXml;
using OfficeOpenXml.Style;

namespace EPplusSample1
{
    /// <summary>
    /// EPPlusを使ったExcel操作のサンプル。
    /// </summary>
    class Program
    {
        /// <summary>
        /// エントリーポイント
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            var newFile = new FileInfo(@"sample1.xlsx");

            using (var package = new ExcelPackage(newFile))
            {
                ExcelWorksheet worksheet = null;

                // Excelファイルが既に存在するなら、該当ワークシートが存在するか確認する。
                if (newFile.Exists)
                {
                    worksheet = package.Workbook.Worksheets.Where(s => s.Name == "Hello").FirstOrDefault();                    
                }                  

                // ワークシートが存在しなければ、ワークシートを追加する
                if (worksheet == null)
                {
                    worksheet = package.Workbook.Worksheets.Add("Hello");
                }

                // セルに文字列を挿入する。
                worksheet.Cells[1, 1].Value = "こんにちは、世界。";

                //フォントの色を設定。
                worksheet.Cells[1, 1].Style.Font.Color.SetColor(Color.Red);

                //Excelのファイルをセーブする。
                package.Save();
            }

        }
    }
}

詳しい使い方はCodePlexのサイトからZIPパッケージをダウンロードし、その中のSampleフォルダの各サンプルを見るとよくわかると思います。

24
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
19