【问题标题】:ClosedXml : Set column's name in a table with spacesClosedXml :在带有空格的表中设置列名
【发布时间】:2018-04-24 13:52:25
【问题描述】:

我正在尝试使用 closedxml 在 excel 中创建一个表,我希望它的名称是带有空格的列,如图片 Table with spaces in its column's names 中所示。在默认情况下,名称不应包含空格,我尝试在创建表后重写这些名称,但即使我确保核心是黑色的,名称也会变得透明。

创建表的脚本是:

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);
}

【问题讨论】:

  • 最近的更改可能会解决此问题。请尝试 v0.93.0-beta1

标签: c# .net excel closedxml


【解决方案1】:

我不是 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

【讨论】:

  • 感谢您解决了我的问题。 PS:有一点小错误,应该是这样的:wsTable.Cell(1, 1).SetValue("Nom du site"); wsTable.Cell(1, 2).SetValue("Adresse d'audit"); wsTable.Cell(1, 3).SetValue("认证要求"); wsTable.Cell(1, 4).SetValue("网站活动"); wsTable.Cell(1, 5).SetValue("网站产品");
猜你喜欢
  • 1970-01-01
  • 2017-12-15
  • 2016-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多