はじめに
世の中的に増えているかは分かりませんが、私の周りでClosedXmlを使う業務が増えてきたので、Excelアプリのタブメニューごとに纏めておこうと思います。
Excel操作
前提
using ClosedXML.Excel;
var newbook = new XLWorkbook();
var worksheet = newbook.AddWorksheet("シート");
ホーム
クリップボード
コピー、貼り付け
// コピー元のセルの指定(7行目1列目~12行目3列を指定)
IXLRange fromRange = worksheet.Range(7, 1, 12, 3);
//コピー先のセルの指定(13行目1列目~18行目3列を指定)
IXLRange toRange = worksheet.Range(13, 1, 18, 3);
//コピーの実施
fromRange.CopyTo(toRange);
フォント
セルの書式設定
worksheet.Cell("A1").Style.Font.SetFontName("MS Pゴシック"); // フォント
worksheet.Cell("A1").Style.Font.SetFontSize(20); // 文字サイズ
worksheet.Cell("A1").Style.Font.SetBold(true); // 太字
worksheet.Cell("A1").Style.Font.SetItalic(true); // 斜体
worksheet.Cell("A1").Style.Font.SetUnderline(XLFontUnderlineValues.Single); // 下線
worksheet.Cell("A1").Style.Fill.SetBackgroundColor(XLColor.AliceBlue); // セル色
worksheet.Cell("A1").Style.Font.SetFontColor(XLColor.Red); // 文字色
worksheet.Cell("A1").Style.Font.SetStrikethrough(true); // 取り消し線
// 以下のようにも書ける
worksheet.Cell("A1").Style.Font.FontName = "MS Pゴシック"; // フォント
worksheet.Cell("A1").Style.Font.FontSize = 20; // 文字サイズ
worksheet.Cell("A1").Style.Font.Bold = true; // 太字
worksheet.Cell("A1").Style.Font.Italic = true; // 斜体
worksheet.Cell("A1").Style.Font.Underline = XLFontUnderlineValues.Single; // 下線
worksheet.Cell("A1").Style.Fill.BackgroundColor = XLColor.AliceBlue; // セル色
worksheet.Cell("A1").Style.Font.FontColor = XLColor.Red; // 文字色
worksheet.Cell("A1").Style.Font.Strikethrough = true; // 取り消し線
配置
配置
worksheet.Cell("A1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; // 文字の横位置
worksheet.Cell("A1").Style.Alignment.Vertical = XLAlignmentVerticalValues.Bottom; // 文字の縦位置
worksheet.Cell("A1").Style.Alignment.Indent = 2; // インデント(+2)
worksheet.Cell("A1").Style.Alignment.WrapText = true; // 折り返して全体を表示
worksheet.Cell("A1").Style.Alignment.ShrinkToFit = true; // 縮小して全体を表示
セルの結合・解除
worksheet.Range(8, 2, 8, 3).Merge(); // 8行目の2列目と3列目を結合
worksheet.Range(8, 2, 8, 3).Unmerge(); // 8行目の2列目と3列目の結合を解除
スタイル
条件付き書式
worksheet.Range(8, 2, 8, 3).AddConditionalFormat()
.WhenBetween(1, 5) // 条件(1~5の間)
.Fill.SetBackgroundColor(XLColor.AliceBlue) // 書式
.Font.SetFontColor(XLColor.Red); // 書式
// 条件を追加する場合
worksheet.Range(8, 2, 8, 3).AddConditionalFormat()
.WhenContains("ABC") // 条件(ABCを含む)
.Font.SetFontColor(XLColor.Blue); // 書式
セル
挿入・削除
worksheet.Row(2).InsertRowsAbove(1); // 2行目の上に1行を挿入
worksheet.Row(2).InsertRowsBelow(1); // 2行目の下に1行を挿入
worksheet.Column(2).InsertColumnsBefore(1); // 2列目の前に1列を挿入
worksheet.Column(2).InsertColumnsAfter(1); // 2列目の後に1列を挿入
worksheet.Cell("B2").InsertCellsAbove(1); // B2セルの上に1セルを挿入
worksheet.Cell("B2").InsertCellsBelow(1); // B2セルの下に1セルを挿入
worksheet.Cell("B2").InsertCellsBefore(1); // B2セルの前に1セルを挿入
worksheet.Cell("B2").InsertCellsAfter(1); // B2セルの後に1セルを挿入
worksheet.Row(2).Delete(); // 2行目を削除
worksheet.Column(2).Delete(); // 2列目を削除
worksheet.Cell("B2").Delete(XLShiftDeletedCells.ShiftCellsUp); // B2セルを削除
おわりに
数が多いので、とりあえずはホームタブの機能を纏めました。
時間を見て、他のタブの機能も追記していきます。