ClosedXml : 将列名设置为 table 带空格
ClosedXml : Set column's name in a table with spaces
我正在尝试使用 closedxml 在 excel 中创建一个 table,我希望它的名称是带有空格的列,如图片 Table with spaces in its column's names 中所示。在默认情况下,名称不应有空格,我在创建 table 后尝试重写这些名称,但即使我确保核心是黑色,名称也会变得透明。
创建table的脚本是:
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);
}
我不是 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");
}
编辑:这里似乎有一个很好的 table 介绍:https://github.com/ClosedXML/ClosedXML-wiki/blob/master/Inserting-Tables.md
我正在尝试使用 closedxml 在 excel 中创建一个 table,我希望它的名称是带有空格的列,如图片 Table with spaces in its column's names 中所示。在默认情况下,名称不应有空格,我在创建 table 后尝试重写这些名称,但即使我确保核心是黑色,名称也会变得透明。
创建table的脚本是:
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);
}
我不是 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");
}
编辑:这里似乎有一个很好的 table 介绍:https://github.com/ClosedXML/ClosedXML-wiki/blob/master/Inserting-Tables.md