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フォルダの各サンプルを見るとよくわかると思います。