ClosedXml: установить имя столбца в таблице с пробелами - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь создать таблицу в Excel с closedxml и хочу, чтобы в ней были имена столбцов с пробелами, как на этом рисунке Таблица с пробелами в именах столбцов .в случае по умолчанию имена не должны иметь пробелов, я попытался переписать эти имена после создания таблицы, но имена стали прозрачными, даже если я уверен, что ядро ​​черное.

сценарий создания таблицы:

public static void CreateTable(IXLWorksheet ws, int beginRow, int beginColumn, List<SitesTableModel> list)
{ 
    ws.Cell(beginRow, beginColumn).InsertTable(list.AsEnumerable());
    var range5 = ws.Range(beginRow, beginColumn, beginRow+list.Count, beginColumn+5);

    range5.Style.Alignment.Vertical = XLAlignmentVerticalValues.Top;
    range5.Style.Font.FontColor = XLColor.TealBlue;
    range5.Style.Font.FontName = "Arial";
    range5.Style.Font.FontSize = 10;
    range5.Style.Alignment.WrapText = true;

    Cell cell = new Cell
    {    
        fontColor = XLColor.Black,
        textValue = "Nom du site",
        fontName = "Arial",
        bold = false,
        fontSize = 10,
        alignment = XLAlignmentHorizontalValues.Left,    
    };

    SetCellValue(ws, beginRow, beginColumn, cell);
    cell.textValue = "Adresse d'audit";
    SetCellValue(ws, beginRow, beginColumn+1, cell);
    cell.textValue = "Certifications demandées";
    SetCellValue(ws, beginRow, beginColumn+2, cell);
    cell.textValue = "Activités du site";
    SetCellValue(ws, beginRow, beginColumn+3, cell);
    cell.textValue = "Produits du site";
    SetCellValue(ws, beginRow, beginColumn+4, cell);
}

1 Ответ

0 голосов
/ 24 апреля 2018

Я не эксперт в ClosedXML, но похоже, что вы создаете одну ячейку и используете ее снова и снова.Я должен подумать, что что-то вроде этого будет работать:

public static void CreateTable(IXLWorksheet ws, int beginRow, int beginColumn, List<SitesTableModel> list)
{ 
    var wsTable = ws.Cell(beginRow, beginColumn).InsertTable(list.AsEnumerable());

    // Removed range stuff I don't understand

    wsTable.Cell(beginRow, beginColumn).SetValue("Nom du site");
    wsTable.Cell(beginRow, beginColumn+1).SetValue("Adresse d'audit");
    wsTable.Cell(beginRow, beginColumn+2).SetValue("Certifications demandées");
    wsTable.Cell(beginRow, beginColumn+3).SetValue("Activités du site");
    wsTable.Cell(beginRow, beginColumn+4).SetValue("Produits du site");
}

Редактировать: Кажется, здесь хорошее представление о таблице: https://github.com/ClosedXML/ClosedXML-wiki/blob/master/Inserting-Tables.md

...