/// <summary>
        /// 罫線<see cref="Border"/>の取得
        /// left/right/top/bottom それぞれに 線のスタイルを指定可能
        /// <see cref="BDStyles.None"/> は なし
        /// <see cref="BDStyles.Thin"/> は 実線
        /// <see cref="BDStyles.Hair"/> は 点線(ダッシュとは異なる)
        /// <see cref="BDStyles.Double"/> は 二重線 で、主に利用するのは 前述の3つくらい
        /// <see cref="BDStyles.None"/> を利用した場合、xml に余計なタグを作成しない。
        /// </summary>
        /// <param name="left"></param>
        /// <param name="right"></param>
        /// <param name="top"></param>
        /// <param name="bottom"></param>
        /// <returns></returns>
        public static Border GetBorder(
            BDStyles left   = BDStyles.Thin,
            BDStyles right  = BDStyles.Thin,
            BDStyles top    = BDStyles.Thin,
            BDStyles bottom = BDStyles.Thin)
        {
            var border = new Border {
                DiagonalBorder = new DiagonalBorder {
                },
            };

            border.LeftBorder = left == BDStyles.None ?
                                new LeftBorder() :
                                new LeftBorder {
                Style = left, Color = new Color {
                    Auto = true
                }
            };
            border.RightBorder = right == BDStyles.None ?
                                 new RightBorder() :
                                 new RightBorder {
                Style = right, Color = new Color {
                    Auto = true
                }
            };
            border.TopBorder = top == BDStyles.None ?
                               new TopBorder() :
                               new TopBorder {
                Style = top, Color = new Color {
                    Auto = true
                }
            };
            border.BottomBorder = bottom == BDStyles.None ?
                                  new BottomBorder() :
                                  new BottomBorder {
                Style = bottom, Color = new Color {
                    Auto = true
                }
            };
            return(border);
        }
Beispiel #2
0
 /// <summary>
 /// Adds a border to the stylesheet.
 /// </summary>
 /// <param name="placement">The border's cell placement.</param>
 /// <param name="style">The border's style.</param>
 /// <param name="color">The border's color.</param>
 /// <returns>The stylesheet position index associated with the element.</returns>
 public uint AddBorder(BorderPlacement placement, OpenXml.BorderStyleValues style, in Color color)
 public static Border GetBorderAll(BDStyles style) => GetBorder(style, style, style, style);