.net 将特定格式应用于TableColumn
我正在尝试创建一个.net 将特定格式应用于TableColumn,.net,openxml,.net,Openxml,我正在尝试创建一个电子表格文档,其中包含一个基于自定义表样式信息的表: stylesheet.DifferentialFormats = new DifferentialFormats ( new DifferentialFormat // 0 - TableStyleValues.WholeTable { Font = new Font { FontName = new FontName { Val = "Tahoma" } }, Fill =
电子表格文档
,其中包含一个基于自定义表样式信息的表
:
stylesheet.DifferentialFormats = new DifferentialFormats
(
new DifferentialFormat // 0 - TableStyleValues.WholeTable
{
Font = new Font { FontName = new FontName { Val = "Tahoma" } },
Fill = new Fill { PatternFill = new PatternFill { PatternType = PatternValues.None } }
Alignment = new Alignment { Horizontal = HorizontalAlignmentValues.General }
},
new DifferentialFormat // 1 - TableStyleValues.HeaderRow
{
Fill = new Fill
{
PatternFill = new PatternFill
{
PatternType = PatternValues.Solid,
BackgroundColor = new BackgroundColor { Rgb = "FFF5F5F5" }
}
},
Alignment = new Alignment { Horizontal = HorizontalAlignmentValues.Center }
},
new DifferentialFormat // 2 - TableStyleValues.SecondRowStripe
{
Fill = new Fill
{
PatternFill = new PatternFill
{
PatternType = PatternValues.Solid,
BackgroundColor = new BackgroundColor { Rgb = "FFF5F5F5" }
}
}
},
new DifferentialFormat // 3 - Date
{
NumberingFormat = new NumberingFormat
{
NumberFormatId = 164,
FormatCode = "dd/mm/yyyy"
}
}
) { Count = 4 };
stylesheet.TableStyles = new TableStyles(new TableStyle
(
new TableStyleElement { Type = TableStyleValues.WholeTable, FormatId = 0 },
new TableStyleElement { Type = TableStyleValues.HeaderRow, FormatId = 1 },
new TableStyleElement { Type = TableStyleValues.SecondRowStripe, FormatId = 2 }
) { Name = "TableStyle", Table = true, Count = 3 });
tableDefPart.Table = new Table
{
HeaderRowCount = 1,
TableStyleInfo = new TableStyleInfo
{
Name = ((TableStyle)stylesheet.TableStyles.FirstChild).Name,
ShowRowStripes = true
},
TableColumns = new TableColumns
(
new TableColumn
{
Id = 1,
Name = "Name"
},
new TableColumn
{
Id = 2,
Name = "Date",
DataFormatId = 3 // no effect
}
) { Count = 2 };
};
我的differentingformats
集合包含4个项目,其中前3个项目引用自各自的TableStyleElement
条目,而最后一个项目引用自第二个TableColumn
定义。后者似乎不起作用。如果我将样式应用于,比如说,SecondRowStripe
,它就会工作,因此格式本身是正确的
有人能解释一下TableColumn.DataFormatId
应该指向什么以及我做错了什么吗。谢谢
另外,将TableColumn.DataCellStyle
设置为命名的CellStyle
索引也不起作用,因此将自定义格式应用于TableColumn
似乎一点也不受欢迎
字段说明:
数据格式ID
样式表中差异格式记录的一个从零开始的整数索引,指示应用于此列数据区域的格式。该格式也适用于该列插入行上的单元格。如果此索引超出范围,则电子表格应无法加载
数据单元样式
一个字符串,表示应用于此表列数据区域中的单元格的单元格样式的名称。如果此字符串缺失或与单元格样式的名称不对应,则应应用当前表格样式指定的数据单元格样式。此单元格样式应优先于表定义的dataCellStyle