• Open XML 检索 EXCEL


    1、Excel 隐藏行判断

         项目的 Hidden 属性不为 null,且 Hidden 属性的值为 True

    1 var itemList = ws.Descendants<Row>().
    2       Where((r) => r.Hidden != null && r.Hidden.Value).
    3       Select(r => r.RowIndex.Value).ToList<uint>();

    2、隐藏列的检索

        检索隐藏列的列表会更复杂一些,这是因为 Excel 会将隐藏列的组折叠成一个元素,并会提供 Min 和 Max 属性来描述组中的第一列和最后一列。因此,虽然检索隐藏列的列表的代码首先执行的操作与检索隐藏行的代码首先执行的操作相同,但它必须循环访问索引值(循环访问隐藏列集合中的每个项,并添加介于 Min 和 Max 值(包含这两个值)之间的每个索引)。

    1 var cols = ws.Descendants<Column>().
    2   Where((c) => c.Hidden != null && c.Hidden.Value);
    3 foreach (Column item in cols)
    4 {
    5   for (uint i = item.Min.Value; i <= item.Max.Value; i++)
    6   {
    7     itemList.Add(i);
    8   }
    9 }

    3、隐藏Sheet的判断

        Sheet的Sheet.State == null 或者 State.Value == SheetStateValues.Visible 为显示;

        State.Value 为 SheetStateValues.Hidden 或者 SheetStateValues.VeryHidden 为隐藏

    private static uint GetIndexOfFirstVisibleSheet(Sheets sheets)
    {
      uint index = 0;
      foreach (Sheet currentSheet in sheets.Descendants<Sheet>())
      {
        if (currentSheet.State == null || currentSheet.State.Value == SheetStateValues.Visible)
        {
          return index;
        }
        index++;
      }
      throw new Exception("No visible sheet found.");
    }
  • 相关阅读:
    Django模型
    Django视图
    Django入门
    Python之安装第三方扩展库
    【转载】python计算文件的行数和读取某一行内容的实现方法
    easymock入门
    Head First Python之4持久存储
    Selenium2+python自动化之读取Excel数据(xlrd)
    Selenium2+python自动化之数据驱动(ddt)
    Head First Python之3文件与异常
  • 原文地址:https://www.cnblogs.com/QQ931697811/p/7761119.html
Copyright © 2020-2023  润新知