gpt4 book ai didi

c# - 使用 EPPlus 查找卡住的 Pane

转载 作者:行者123 更新时间:2023-12-05 03:00:37 25 4
gpt4 key购买 nike

是否可以使用 EPPlus 找到卡住的 Pane ?例如,在我正在使用的电子表格中,6 以上的任何行都被卡住,D 之前的任何列都被卡住。有没有办法在给定的工作表中检测到这些?

我知道 EPPlus 有一个选项可以在给定行和列的情况下卡住 Pane 。浏览源代码,我可以看到这个方法位于 ExcelWorksheetView.cs 中。此外,实际将状态设置为卡住的行是:paneNode.SetAttribute("state", "frozen");,其中 paneNode 是一个 XmlElement.

鉴于此信息,我使用 Visual Studio 的调试器搜索工作表,试图找到有关卡住状态的相关信息,但我还没有找到任何信息。我还检查了它是否记录在单个单元格中,但再次失败。

我是这个库的新手,一般来说阅读 Excel 文件,希望更有经验的人能够帮助我找到如何准确地检测给定工作表中的卡住 Pane 。

最佳答案

我找到了适合我的解决方案。主 Pane 的状态可以在 worksheet.View.TopNode.InnerXml 中找到。此外,xSplitySplit 值也是如此。

为了达到这些值:

var field = worksheet.View.GetType().GetProperty("TopNode", BindingFlags.NonPublic | BindingFlags.Instance);
XmlNode node = (XmlNode) field.GetValue(worksheet.View);
var pane = node.SelectSingleNode("//*[local-name()='pane']");

var state = pane.Attributes?["state"]?.Value;
var xSplit= pane.Attributes?["xSplit"]?.Value;
var ySplit= pane.Attributes?["ySplit"]?.Value;

从那里我可以检查面板的状态,以及查看拆分的 x 和 y 位置。

关于c# - 使用 EPPlus 查找卡住的 Pane ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56671948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com