OpenXML Excel列格式?

我使用OpenXML SDK 2.0通过OpenXML模板将一些数据导出到Excel中。 我可以把所有东西都导出到Excel中。 但是,该模板有几张纸(实际上都是这样),它们具有应用于列的背景颜色(样式),而不是单元格,因为Excel没有实际引用该单元格。

我正在用这些表格中的数据填充数据行,值设置正确,但是当我将它们设置为单元格的格式时,它将回到默认的白色背景,不再适合表格的其余部分。

如何让单元格inheritance它所在列的样式? 我想要试图查找列,并得到它的风格,并设置单元格的样式,但我不知道如何find一个列的引用。 我可以遍历表中的所有列,但他们不给我他们的参考…

下面是实际将单元插入一行的片段:

Cell newCell = new Cell() { CellReference = cellReference }; if (refCell == null) { row.Append(newCell); } else { row.InsertBefore(newCell, refCell); } 

refCell是从以前的代码,基本上是为了确保单元格按照正确的顺序列出,因为如果Excel不适合,它将适应。

那么设置实际值的部分是:

  c.CellValue = new CellValue(indx.ToString()); c.DataType = new EnumValue<CellValues>(CellValues.SharedString); 

indx是共享string表中string的索引。

谁能帮忙?

谢谢

你究竟如何设定价值。 通常不应该有任何风格的重写,但我没有testing过自己(我们不使用模板)。

无论如何:为了find列引用,你可以使用:

 ExcelColumn columnReference = ExcelWorksheet.Column(columnIndex); 

编辑:顺便说一下,我正在使用EPPlus库( http://epplus.codeplex.com/ )。 在我看来这是一个非常容易使用的实现。 我以为那是你正在使用的那个,但我可能是错的。

您可以通过单元格引用获取列的名称,然后获取同一列中的所有单元格。 如果该列的第一个单元格具有样式,则可以使用StyleIndex将其应用于当前单元格。

你可以看看这个页面,它解释了如何根据单元格引用获取列名: http : //msdn.microsoft.com/en-us/library/office/cc822064.aspx

也许有更直接的方式去做你想做的事,但我不知道。