この記事では、EPPlusを使用し、Excelファイル内のセルの数値・テキストの設定と取得、セルの色の設定と取得、そしてセルのフォーマットの設定と取得について紹介します。
EPPlusとは
EPPlusは、Excelファイルを読み書きするための.Net Framework用のライブラリです。このライブラリは、Office Open XMLフォーマットのExcelファイル(拡張子 *.xlsx)を扱うことができます。Excelアプリケーションに依存せずに動作するため、サーバー環境やMicrosoft Officeがインストールされていない環境でもExcelファイルの操作が可能です。
また、EPPlusは、Excelファイルの読み書きにおいて速度面でも優れたパフォーマンスを発揮します。大量のデータも効率的に処理することができ、アプリケーションのパフォーマンスを落とすことなくスムーズに動作します。
サンプルコード実行の準備
準備1:フォームの設定
フォームにボタンをひとつ配置します。名前はbutton1とします。デザイナ上でボタンをダブルクリックしておき、事前にイベントハンドラを生成します。
準備2:Excelファイルの作成
編集対象のExcelファイルを準備してください。対象のファイルには “Sheet1” が存在している必要があります。
準備3:EPPlusをNuGetからインストール
EPPlusをNuGetからインストールします。
パッケージマネージャーコンソールで以下のように入力します。
Install-Package EPPlus
以下のように入力したらEnterを押下します。
以下のように表示されたら、インストールが出来ています。
EPPlusのライセンスについての記述が表示されますので必ず確認しましょう。
サンプルコード
ボタン押下時のイベントハンドラにExcelファイル操作を実装しています。下記コードの★ライセンスの設定について★とある部分には、必ずご自身の責任のもと、作成するアプリに合わせて適切な値を設定してください。
using System;
using System.IO;
using System.Drawing;
using System.Windows.Forms;
using OfficeOpenXml;
using OfficeOpenXml.Style;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// ★ライセンスの設定について★
// https://epplussoftware.com/developers/licenseexception
// EPPlusのライセンスの内容を確認して、
// ご自身の使用方法に合わせて値を設定してください。
// ★もし商業ビジネスであり、商用ライセンスを購入している場合。
//ExcelPackage.LicenseContext = LicenseContext.Commercial;
// ★EPPlusをPolyform Noncommercialライセンスに従って非商用コンテキストで使用する場合。
//ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
try
{
// 既存のExcelファイルを開く
FileInfo xlsxFile = new FileInfo(@"C:\path\to\your\file.xlsx");
if (!xlsxFile.Exists)
{
MessageBox.Show("ファイルが見つかりません:{xlsxFile}");
return;
}
// Excelファイルの処理
using (ExcelPackage package = new ExcelPackage(xlsxFile))
{
// ワークシート "Sheet1" を選択
ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheet1"];
// セルから数値を取得
int value = worksheet.Cells["A1"].GetValue<int>();
// セルに数値を設定
worksheet.Cells["A1"].Value = value + 1;
// セルからテキストを取得
string text = worksheet.Cells["A2"].GetValue<string>();
// セルにテキストを設定
worksheet.Cells["A2"].Value = text + "a";
// セルの色を設定(背景色を黄色に設定)
worksheet.Cells["A3"].Style.Fill.PatternType = ExcelFillStyle.Solid;
worksheet.Cells["A3"].Style.Fill.BackgroundColor.SetColor(Color.Yellow);
// セルのフォーマットを設定(テキスト形式)
worksheet.Cells["A4"].Style.Numberformat.Format = "@";
worksheet.Cells["A4"].Value = 1234;
// 変更を保存
package.Save();
}
MessageBox.Show("Excelファイルの操作が完了しました。");
}
catch (Exception ex)
{
MessageBox.Show("エラーが発生しました: " + ex.Message);
}
finally
{
}
}
}
}
実行結果
まとめ
本記事では、EPPlusを使用したExcelファイルの編集について紹介しました。EPPlusはExcelファイル操作において素晴らしいライブラリですので、一度体験されることをお勧めします。