当前位置: 首页 > 编程语言 > C#

如何在Openxml中使用样式索引?分享

时间:2023-04-11 02:15:25 C#

Openxml中如何使用样式索引?谁能解释OpenXml中的样式索引是如何工作的?我有一个业务需求,我需要将背景颜色应用于Excel工作表中的某些单元格。并且一些样式已经应用于其他单元格。所以我需要决定我需要应用哪种索引方式。乍一看,OpenXML样式可能会造成混淆。Excel文档样式属于SpreadsheetML标记语言,不同于Word和PowerPoint。对于Excel中的典型单元格,唯一需要的样式信息是StyleIndex(正如您所指出的)。Cellcell16=newCell(){CellReference="HU1",StyleIndex=(UInt32Value)1U,DataType=CellValues.SharedString};这对应于XML中的s属性:0StyleIndex是样式部分索引中CellFormat记录的从零开始的值。样式部分(也称为工作簿的样式表)包含以下部分:现在在CellFormat记录中,有对样式表中以下每个部分的引用:数字格式(上面的第一个项目符号)字体(上面的第二个项目符号)顶部)填充(上面的第3个项目符号)边框(上面的第4个项目符号)代码中的示例单元格格式如下所示://这一行对您的问题很重要CellFormatcellFormat5=newCellFormat(){NumberFormatId=(UInt32Value)0U,FontId=(UInt32Value)0U,FillId=(UInt32Value)0U,BorderId=(UInt32Value)11U,//CellFormat定义的其余部分对你的问题不是那么重要FormatId=(UInt32Value)0U,ApplyFill=true,ApplyBorder=true,ApplyAlignment=真};回答您的问题:对某些单元格应用某种背景颜色。假设我们要更新电子表格的单元格B3,而B3StyleIndex已经是10。您需要执行以下步骤:步骤1。如果这是电子表格的新背景颜色,请将背景(也称为填充)添加到包含新颜色的样式表的填充部分(上面的第三个项目符号)...如果颜色已经存在,您需要查找并记住该颜色的现有填充的索引。无论哪种方式,对于此示例,假设您需要Fill索引为25。第2步。创建一个新的CellFormat,它是索引10处的CellFormat的副本。您将把这个新的CellFormat添加到CellFormat部分的末尾.假设新CellFormat的索引为53。步骤3.更新索引53处的CellFormat并使其填充索引属性为25(来自步骤1)。最后一步:更新问题B3的单元格,使新的StyleIndex为53注意:此答案适用于Excel中的非表格单元格样式-如果您需要表格单元格的样式信息,请回复并尝试更新或添加到答案.这个答案主要来自我的经验和免费电子书第73-79页的解释:OpenXML-MarkupInterpretation-作者WoutervanVugt。对于OpenXml的所有内容,它都是一个很好的参考。以上就是C#学习教程:如何在Openxml中使用样式索引?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: