1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ClosedXmlのサンプルコード

Posted at

はじめに

世の中的に増えているかは分かりませんが、私の周りでClosedXmlを使う業務が増えてきたので、Excelアプリのタブメニューごとに纏めておこうと思います。

Excel操作

前提
using ClosedXML.Excel;

var newbook = new XLWorkbook();
var worksheet = newbook.AddWorksheet("シート");

ホーム

image.png

クリップボード

コピー、貼り付け
// コピー元のセルの指定(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セルを削除

おわりに

数が多いので、とりあえずはホームタブの機能を纏めました。
時間を見て、他のタブの機能も追記していきます。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?