Как я могу использовать 2 опции MultipleBorders в GemBox - PullRequest
0 голосов
/ 27 февраля 2020

Я могу использовать стиль внутренней границы и стиль внешней линии, но я не знаю, как использовать оба.

Как на этом рисунке:

Excel borders

Я использую 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;

Ответы [ 2 ]

0 голосов
/ 27 марта 2020

Обратите внимание, что 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);
0 голосов
/ 27 февраля 2020

моя версия гембокса: введите описание изображения здесь

, поэтому метод MultipleBorders.inside в моей версии гембокса не имеет только метода MultipleBorders.outside

...