我如何在 GemBox 中使用 2 MultipleBorders 选项

How can I use 2 MultipleBorders option in GemBox

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

如图所示:

我正在使用 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;

我的 gembox 版本:enter image description here

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

请注意 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);