FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【ClosedXML】 Style.Alignment

 今回から複数回に分けて書式設定の方法について説明します。
 今回はAlignmentの書式設定について説明します。
 Alignmentではセル内の文字の位置や方向等を設定できます。
 以下のサンプルコードでは、色々なAlignment設定を試しています。
using ClosedXML.Excel;
using System;
using System.IO;

namespace ClosedXml05
{
    class Program
    {
        static void Main(string[] args)
        {
            var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Book.xlsx");

            using(var book = new XLWorkbook(XLEventTracking.Disabled))
            {
                var sheet = book.AddWorksheet("シート1");

                // 文字の横位置
                sheet.Cell("A1").Value = "中央揃え";
                sheet.Cell("A1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;

                // 文字の縦位置
                sheet.Cell("A2").Value = "下詰め";
                sheet.Cell("A2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Bottom;

                // インデント
                sheet.Cell("A3").Value = "インデント=2";
                sheet.Cell("A3").Style.Alignment.Indent = 2;

                // 折り返して全体を表示
                sheet.Cell("A4").Value = "折り返して全体を表示";
                sheet.Cell("A4").Style.Alignment.WrapText = true;

                // 縮小して全体を表示
                sheet.Cell("A5").Value = "縮小して全体を表示";
                sheet.Cell("A5").Style.Alignment.ShrinkToFit = true;

                // 方向(角度指定)
                sheet.Cell("A6").Value = "45度";
                sheet.Cell("A6").Style.Alignment.TextRotation = 45;

                // 方向(縦方向)
                sheet.Cell("A7").Value = "縦方向";
                sheet.Cell("A7").Style.Alignment.TopToBottom = true;

                /* 複数の書式設定がある場合はメソッドを使うと便利
                 * SetValue()はIXLCellを返し、SetHorizontal()等はIXLStyleを返すので
                 * メソッドチェーンで記載できる
                 */ 
                sheet.Cell("A8")
                    .SetValue("メソッドで設定")
                    .Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
                    .Alignment.SetVertical(XLAlignmentVerticalValues.Center)
                    .Alignment.SetTextRotation(45);

                book.SaveAs(filePath);
            }
        }
    }
}
 書式設定はStyleプロパティで行います。Styleプロパティ以下にサブジャンル(BorderやAlignment等)があります。
 そしてAlignmentプロパティ以下に文字の位置等を設定するためのプロパティが用意されています。
 書式設定はプロパティで設定する方法とSetメソッドを使用する方法の2種類があります。
 Setメソッドの場合は戻り値としてIXLStyleを返すので(SetValueメソッドの場合はIXLCellを返します)、そこからさらに別の書式設定を指定することができます。
 複数の書式設定を行うのであればSetメソッドを使用した方が解りやすいと思います。
 上記のサンプルコードを実行すると以下の様になります。(見やすくするためにセルの高さなどを変更しています)
StyleAlignment.png
 最後に、HorizontalとVerticalを設定するための列挙子を紹介します。
 HorizontalにはXLAlignmentHorizontalValuesを指定しますが、その値と意味は以下の通りです。
  Center:中央揃え
  CenterContinuous:選択範囲内で中央
  Distributed:均等割り付け(インデント)
  Fill:繰り返し
  General:標準
  Justify:両端揃え
  Left:左詰め(インデント)
  Right:右詰め(インデント)

 VerticalにはXLAlignmentVerticalValuesを指定します。その値と意味は以下の通りです。
  Bottom:下詰め
  Center:中央揃え
  Distributed:均等割り付け
  Justify:両端揃え
  Top:上詰め

 次回はBorder(罫線)について説明します。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

カレンダー
09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
全記事表示リンク

全ての記事を表示する

カテゴリ
タグリスト

月別アーカイブ
11  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09 
最新記事
リンク
最新コメント
検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。