将特定格式应用于TableColumn

时间:2016-08-22 07:41:27

标签: .net openxml

我正在尝试使用基于自定义SpreadsheetDocument的{​​{1}}创建Table

TableStyleInfo

我的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 }; }; 集合包含4个项目,其中前3个是从相应的DifferentialFormats条目引用的,而最后一个是从第二个TableStyleElement定义引用的。后者似乎不起作用。如果我将样式应用于TableColumn,那么格式化本身就是正确的。

任何人都可以解释SecondRowStripe应指向的内容以及我做错了什么。感谢。

P.S。将TableColumn.DataFormatId设置为已命名的TableColumn.DataCellStyle索引也不起作用,因此将自定义格式应用于CellStyle似乎根本不受尊重。

字段描述:

DataFormatId

  

样式表中差异格式记录的基于零的整数索引,指示要应用于此列的数据区域的格式。此格式也适用于此列的插入行上的单元格。如果此索引超出范围,则无法加载电子表格。

DataCellStyle

  

一个字符串,表示应用于此表列的数据区域中的单元格的单元格样式的名称。如果缺少此字符串或与单元格样式的名称不对应,则应应用当前表样式指定的数据单元格样式。此单元格样式应优先于表格定义的dataCellStyle。

0 个答案:

没有答案