0

我可以使用内边框线样式和外线样式,但我不知道如何同时使用这两种样式。

如这张图片:

Excel 边框

我正在使用 C# 和 GemBox.Spreadsheet

//inside border
for (int line = 0; line < Projectsource.Count(); line++) //바깥border과 안쪽 얇은 border 같이 쓰면 안됨
{
    for (int j = 0; j < 14; j++)//안쪽 cell border 얇게
    {
        worksheet.Cells[line, j].Style.Borders.SetBorders(
            MultipleBorders.Outside, SpreadsheetColor.FromArgb(255, 0, 0), LineStyle.Thin);
    }
}

//outside border
//style.Borders.SetBorders(
//    MultipleBorders.Outside, SpreadsheetColor.FromArgb(140, 120, 50), LineStyle.Thick);//바깥쪽 border 두껍게 성공

worksheet.Cells.GetSubrange("A2:N762").Style = style;
4

2 回答 2

0

请注意,这MultipleBorders是一个标志枚举,这意味着您可以对它使用按位运算符。

因此,这里是您可以使用较新版本的 GemBox.Spreadsheet 设置内部和外部边界的方法:

worksheet.Cells.GetSubrange("A2:N762").Style.Borders.SetBorders(
    MultipleBorders.Inside | MultipleBorders.Outside,
    SpreadsheetColor.FromArgb(255, 0, 0),
    LineStyle.Thin);

或者您可以改用它:

worksheet.Cells.GetSubrange("A2:N762").Style.Borders.SetBorders(
    MultipleBorders.All,
    SpreadsheetColor.FromArgb(255, 0, 0),
    LineStyle.Thin);

但是,正如您已经注意到旧版本(GemBox.Spreadsheet 3.9)没有MultipleBorders.Inside. 此外,即使它确实具有MultipleBorders.All,行为也是不同的。

不过,这里是如何使用旧版本的 GemBox.Spreadsheet 设置所需的边框:

foreach (var cell in worksheet.Cells.GetSubrange("A2:N762"))
    cell.Style.Borders.SetBorders(
        MultipleBorders.Outside,
        SpreadsheetColor.FromArgb(255, 0, 0),
        LineStyle.Thin);
于 2020-03-27T17:08:41.230 回答
0

我的 gembox 版本:在此处输入图像描述

所以我的 gembox 版本中没有 MultipleBorders.inside 方法只有 MultipleBorders.outside 方法

于 2020-02-27T00:07:49.217 回答