使用Open XML SAX技术,冻结第一行(标题)

问题描述 投票:0回答:1

我正在创建一个包含大量数据的Excel文件,因此我不得不选择SAX技术,但我在任何地方都找不到如何冻结第一行的示例,以便在滚动时它保持在顶部,我找到了很多如何做到这一点的例子,但都是 DOM 技术

我在DOM中找到了一个例子,但是技术不能混用,否则就失去了使用SAX的意义

c# openxml sax
1个回答
0
投票

解决方案是这段代码:

            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();
© www.soinside.com 2019 - 2024. All rights reserved.