スタイル

WorksheetRangeStyle オブジェクトを作成して使用し、スタイル項目をセルまたは範囲に渡します。ワークシートの SetRangeStyles メソッドを呼び出してスタイルオブジェクトを適用します。ReoGridは PlainStyleFlag という列挙型を使用して、どのスタイルを適用するかを決定します。

名前空間

using unvell.ReoGrid;

スタイルの設定

セルまたは範囲のスタイルを設定する方法はいくつかあります。

  • ワークシートメソッドの呼び出し
  • セルまたは範囲インスタンスの使用
  • アクションの使用

ワークシートメソッドの呼び出し

sheet.SetRangeStyles("B1:E5", new WorksheetRangeStyle
{
    Flag = PlainStyleFlag.FillColor,
    BackColor = Color.SkyBlue,
});

SetRangeStylesのオーバーロード

シグネチャ説明
SetRangeStyles(string addressOrName, WorksheetRangeStyle style)アドレスまたは名前付き範囲でスタイルを設定
SetRangeStyles(int row, int col, int rows, int cols, WorksheetRangeStyle style)行/列/サイズでスタイルを設定
SetRangeStyles(RangePosition range, WorksheetRangeStyle style)範囲位置でスタイルを設定

セルまたは範囲インスタンスの使用

// Cell
var cell = sheet.Cells["B3"];
cell.Style.BackColor = Color.SkyBlue;

// Range
var range = sheet.Ranges["B1:C3"];
range.Style.BackColor = Color.LightYellow;

アクションの使用

元に戻す、やり直し、繰り返し操作を有効にするために、アクションを使用してスタイルを設定します。

sheet.DoAction(new SetRangeStyleAction("B1:E5", new WorksheetRangeStyle
{
    Flag = PlainStyleFlag.FillColor,
    BackColor = Color.SkyBlue,
}));

スタイルの取得

ワークシートメソッドの呼び出し

// Get style from a single cell
WorksheetRangeStyle style = sheet.GetCellStyle("B3");
WorksheetRangeStyle style = sheet.GetCellStyle(new CellPosition("B3"));
WorksheetRangeStyle style = sheet.GetCellStyle(2, 1);

セルまたは範囲インスタンスの使用

// Cell
var backColor = sheet.Cells["B3"].Style.BackColor;

// Range
var backColor = sheet.Ranges["B1:C3"].Style.BackColor;

WorksheetRangeStyle

WorksheetRangeStyle クラスは適用するスタイルプロパティを保持します。Flag プロパティはどのスタイル項目が含まれるかを決定します。

プロパティ

プロパティPlainStyleFlag値説明
FlagPlainStyleFlagこのオブジェクトに含まれるスタイルを決定
BackColorBackColorSolidColor背景色
FillPatternColorFillPatternColorSolidColor背景パターン色(WinFormsのみ)
FillPatternStyleFillPatternStyleHatchStyles背景パターンスタイル(WinFormsのみ)
TextColorTextColorSolidColorテキスト色(デフォルト: Black)
FontNameFontNamestringフォント名
FontSizeFontSizefloatフォントサイズ(デフォルト: 10)
BoldFontStyleBoldbool太字フォント
ItalicFontStyleItalicbool斜体フォント
StrikethroughFontStyleStrikethroughbool取り消し線
UnderlineFontStyleUnderlinebool下線
HAlignHorizontalAlignReoGridHorAlign水平配置
VAlignVerticalAlignReoGridVerAlign垂直配置
TextWrapModeTextWrapTextWrapModeテキスト折り返しモード
IndentIndentushortテキストインデント(0〜65535)
PaddingPaddingPaddingValueセルパディング
RotationAngleRotationAnglefloatテキスト回転角度(-90°〜90°)

メソッド

メソッド説明
WorksheetRangeStyle()空のスタイルセットを作成
WorksheetRangeStyle(WorksheetRangeStyle source)コピーコンストラクター
Clone(WorksheetRangeStyle source)静的: スタイルオブジェクトをクローン
CopyFrom(WorksheetRangeStyle source)別のオブジェクトからスタイルをコピー
HasStyle(PlainStyleFlag flag)指定されたすべてのフラグが存在するか確認
HasAny(PlainStyleFlag flag)指定されたフラグのいずれかが存在するか確認

注意: 常に Flag プロパティを設定してください。これはどのスタイル項目が適用されるかを決定します。対応するフラグが設定されていないスタイルプロパティは無視されます。

PlainStyleFlag

PlainStyleFlag 列挙型(long、フラグ)は、適用または削除するスタイル項目を指定します。

個別フラグ

16進説明
None0x0スタイルなし
FontName0x1フォント名
FontSize0x2フォントサイズ
FontStyleBold0x4太字
FontStyleItalic0x8斜体
FontStyleStrikethrough0x10取り消し線
FontStyleUnderline0x20下線
TextColor0x40テキスト色
BackColor0x80背景色
HorizontalAlign0x2000水平配置
VerticalAlign0x4000垂直配置
FillPatternColor0x80000背景パターン色
FillPatternStyle0x100000背景パターンスタイル
TextWrap0x200000テキスト折り返しモード
Indent0x400000インデント
Padding0x800000パディング
RotationAngle0x1000000テキスト回転角度

複合フラグ

組み合わせ
FontStyleAllFontStyleBold | FontStyleItalic | FontStyleStrikethrough | FontStyleUnderline
FontAllFontName | FontSize | FontStyleAll
AlignAllHorizontalAlign | VerticalAlign
FillPatternFillPatternColor | FillPatternStyle
BackAllBackColor | FillPattern
LayoutAllTextWrap | Padding | RotationAngle
AllFontAll | TextColor | BackAll | AlignAll | LayoutAll

配置の列挙型

ReoGridHorAlign

説明
General自動配置(数値は右、テキストは左)
Left左揃え
Center中央揃え
Right右揃え

ReoGridVerAlign

説明
Generalデフォルト配置
Top上揃え
Middle中央揃え
Bottom下揃え

TextWrapMode

説明
NoWrap折り返しなし(デフォルト)
WordBreak通常の単語区切り
BreakAll任意の文字で改行

背景色

範囲B1:E5の背景色を設定します。

sheet.SetRangeStyles("B1:E5", new WorksheetRangeStyle
{
    Flag = PlainStyleFlag.FillColor,
    BackColor = Color.SkyBlue,
});

15_2_2

背景パターン色

グリッド全体の背景パターン色を設定します(WinFormsのみ)。

sheet.SetRangeStyles(RangePosition.EntireRange,
    new WorksheetRangeStyle
    {
        Flag = PlainStyleFlag.FillPattern | PlainStyleFlag.FillColor,
        BackColor = Color.LightYellow,
        FillPatternColor = Color.SkyBlue,
        FillPatternStyle = System.Drawing.Drawing2D.HatchStyle.DiagonalBrick,
    });

14

テキスト色

sheet.SetRangeStyles("B2:B2", new WorksheetRangeStyle
{
    Flag = PlainStyleFlag.TextColor,
    TextColor = Color.Red,
});

15_2

テキスト配置

テキスト配置は水平方向と垂直方向の両方で指定できます。

15_3

セルの水平テキスト配置を Center に設定します。

sheet.SetRangeStyles("A1:C3", new WorksheetRangeStyle
{
    Flag = PlainStyleFlag.HorizontalAlign,
    HAlign = ReoGridHorAlign.Center,
});

16_2

テキスト折り返し

テキスト折り返しモードを WordBreak に設定します(デフォルトは NoWrap)。

sheet[1, 1] = "How many beers can you drink?";
sheet.SetRangeStyles("B2:B2", new WorksheetRangeStyle
{
    Flag = PlainStyleFlag.TextWrap,
    TextWrapMode = TextWrapMode.WordBreak,
});

15_4

テキスト回転

RotationAngle プロパティを設定してセル内のテキストを回転します(-90°〜90°)。

var cell = sheet.Cells["A1"];
cell.Data = "Hello World";
cell.Style.RotationAngle = 90;

345

フォント

フォント名とサイズを変更します。

sheet.SetRangeStyles("B2:B2", new WorksheetRangeStyle
{
    Flag = PlainStyleFlag.FontSize | PlainStyleFlag.FontName,
    FontName = "Arial",
    FontSize = 20,
});

15_5

フォントスタイルを変更します。

// Using SetRangeStyles
sheet.SetRangeStyles("B2", new WorksheetRangeStyle
{
    Flag = PlainStyleFlag.FontStyleBold,
    Bold = true,
});

sheet.SetRangeStyles("C2", new WorksheetRangeStyle
{
    Flag = PlainStyleFlag.FontStyleItalic,
    Italic = true,
});

// Using cell instances
sheet.Cells["B3"].Style.Underline = true;
sheet.Cells["C3"].Style.Strikethrough = true;

437

複数スタイルの一括設定

ビット演算ORで複数の PlainStyleFlag 値を組み合わせて、1回の呼び出しで複数のスタイルを設定します。

sheet.SetRangeStyles("A1:D4", new WorksheetRangeStyle
{
    Flag = PlainStyleFlag.FillColor | PlainStyleFlag.TextColor
         | PlainStyleFlag.FontStyleBold | PlainStyleFlag.HorizontalAlign,
    BackColor = Color.LightYellow,
    TextColor = Color.DarkBlue,
    Bold = true,
    HAlign = ReoGridHorAlign.Center,
});

スタイルの削除

単一セルの場合でも、常に範囲からスタイルを削除します。

ワークシートメソッドの使用

PlainStyleFlag を指定して、どのスタイルを削除するかを決定します。

sheet.RemoveRangeStyles(new RangePosition(2, 2, 3, 3), PlainStyleFlag.BackAll);

RemoveRangeStylesのオーバーロード

シグネチャ説明
RemoveRangeStyles(string addressOrName, PlainStyleFlag flags)アドレスまたは名前付き範囲で削除
RemoveRangeStyles(RangePosition range, PlainStyleFlag flags)範囲位置で削除

アクションの使用

sheet.DoAction(new RemoveRangeStyleAction(new RangePosition(2, 2, 3, 3), PlainStyleFlag.BackAll));

ルートスタイル

ワークシートの RootStyle プロパティは、すべてのセルのデフォルトスタイルを定義します。

sheet.RootStyle.FontName = "Consolas";
sheet.RootStyle.FontSize = 12;

交互行スタイル

読みやすさを向上させるために交互行の色を適用します。

sheet.AlternateNormalRowColor = SolidColor.White;
sheet.AlternateAccentRowColor = new SolidColor(240, 240, 250);
sheet.AlternateRowRange = new RangePosition("A1:F100");
sheet.AlternateRowStyleMode = AlternateRowStyleMode.ByVisibleRow;

AlternateRowStyleMode

説明
None交互行スタイルなし
ByVisibleRow表示行で交互(非表示行をスキップ)
ByPhysicalRow物理行インデックスで交互

イベント

イベントEventArgs説明
RangeStyleChangedRangeEventArgs範囲のスタイルが変更されたときに発生

ReferenceCellStyle

ReferenceCellStyle クラスは cell.Style によって返されます。このオブジェクトのプロパティを設定すると、正しいフラグでスタイルがセルに自動的に適用されます。

プロパティ説明
BackColorSolidColor背景色
TextColorSolidColorテキスト色
FontNamestringフォント名
FontSizefloatフォントサイズ
Boldbool太字
Italicbool斜体
Strikethroughbool取り消し線
Underlinebool下線
HAlignReoGridHorAlign水平配置
VAlignReoGridVerAlign垂直配置
TextWrapTextWrapModeテキスト折り返しモード
Indentushortテキストインデント
PaddingPaddingValueセルパディング
RotationAnglefloatテキスト回転角度

ReferenceRangeStyle

ReferenceRangeStyle クラスは range.Style によって返されます。プロパティを設定すると、スタイルが範囲全体に適用されます。

プロパティ説明
BackColorSolidColor背景色
TextColorSolidColorテキスト色
FontNamestringフォント名
FontSizefloatフォントサイズ
Boldbool太字
Italicbool斜体
Underlinebool下線
Strikethroughbool取り消し線
HorizontalAlignReoGridHorAlign水平配置
VerticalAlignReoGridVerAlign垂直配置
TextWrapTextWrapModeテキスト折り返しモード
PaddingPaddingValueセルパディング
Indentushortテキストインデント

関連トピック


ページの内容は役に立ちましたか?