加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在OpenXml SDK 2.0 for Excel文档中冻结窗格

发布时间:2020-12-15 18:31:48 所属栏目:百科 来源:网络整理
导读:我正在使用OpenXml生成一个Excel工作簿,并在 http://msdn.microsoft.com/en-us/library/cc850837.aspx一直关注这些示例 如果我可以冻结顶部窗格,那将非常有用,但我找不到办法做到这一点.我意识到如果我使用http://closedxml.codeplex.com/,我可以这样做,但是
我正在使用OpenXml生成一个Excel工作簿,并在 http://msdn.microsoft.com/en-us/library/cc850837.aspx一直关注这些示例

如果我可以冻结顶部窗格,那将非常有用,但我找不到办法做到这一点.我意识到如果我使用http://closedxml.codeplex.com/,我可以这样做,但是现在我想坚持使用OpenXml SDK

有任何想法吗?

解决方法

我试图解决同样的问题,最后打开Open XML SDK 2.0 Productivity Tool并使用Compare Files …功能来比较两个电子表格,一个是冷冻窗格,一个是没有.

当我这样做时,我被引导到看起来基本上像这样的代码:

WorkbookPart wbp = doc.WorkbookPart;
WorksheetPart wsp = wbp.WorksheetParts.First();

SheetViews sheetviews = wsp.Worksheet.GetFirstChild<SheetViews>();
SheetView sv = sheetviews.GetFirstChild<SheetView>();
Selection selection = sv.GetFirstChild<Selection>();
Pane pane = new Pane(){ VerticalSplit = 1D,TopLeftCell = "A2",ActivePane = PaneValues.BottomLeft,State = PaneStateValues.Frozen };
sv.InsertBefore(pane,selection);
selection.Pane = PaneValues.BottomLeft;

我把它添加到我的程序中,似乎可以解决问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读