我正在创建一个包含大量数据的Excel文件,因此我不得不选择SAX技术,但我在任何地方都找不到如何冻结第一行的示例,以便在滚动时它保持在顶部,我找到了很多如何做到这一点的例子,但都是 DOM 技术
我在DOM中找到了一个例子,但是技术不能混用,否则就失去了使用SAX的意义
解决方案是这段代码:
OpenXmlWriter writer = OpenXmlWriter.Create(openXmlPart: work_sheet_part);
writer.WriteStartElement(elementObject: new Worksheet());//начало рабочего листа
SheetDimension sheet_dimension = new()
{
Reference = title_range
};
writer.WriteElement(sheet_dimension);
writer.WriteStartElement(new SheetViews());
writer.WriteStartElement(new SheetView() { WorkbookViewId = 0 });
Pane pane = new()
{
VerticalSplit = 1,
HorizontalSplit = 0,
TopLeftCell = "A2",
ActivePane = PaneValues.BottomLeft,
State = PaneStateValues.Frozen
};
Selection selection = new Selection()
{
Pane = PaneValues.BottomLeft,
ActiveCell = "A2",
SequenceOfReferences = new ListValue<StringValue>() { InnerText = "A2" }
};
writer.WriteElement(pane);
writer.WriteElement(selection);
writer.WriteEndElement();
writer.WriteEndElement();