Пример #1
0
    List <struHoldAfter> GetHolderAfter2ndStep()
    {
        var HoldList = new List <struHoldAfter>();
        var keyword  = new string[] { "增持后持股", "减持后持股" };

        foreach (var table in root.TableList)
        {
            var HeaderRowNo = -1;
            var mt          = new HTMLTable(table.Value);
            for (int RowCount = 1; RowCount <= mt.RowCount; RowCount++)
            {
                for (int ColumnCount = 1; ColumnCount < mt.ColumnCount; ColumnCount++)
                {
                    var value = mt.CellValue(RowCount, ColumnCount);
                    foreach (var key in keyword)
                    {
                        if (value.Contains(key))
                        {
                            HeaderRowNo = RowCount;
                            break;
                        }
                    }
                    if (HeaderRowNo != -1)
                    {
                        break;
                    }
                }
                if (HeaderRowNo != -1)
                {
                    break;
                }
            }
            if (HeaderRowNo != -1)
            {
                //如果有5格
                if (mt.ColumnCount != 5)
                {
                    continue;
                }
                int PercentCol = -1;
                for (int rowno = HeaderRowNo + 1; rowno <= mt.RowCount; rowno++)
                {
                    var value1 = mt.CellValue(rowno, 1);

                    var Title4 = mt.CellValue(HeaderRowNo, 4);
                    var value4 = mt.CellValue(rowno, 4);
                    value4 = value4.Trim().Replace(",", String.Empty);
                    value4 = value4.Trim().Replace(",", String.Empty);

                    var Title5 = mt.CellValue(HeaderRowNo, 5).Replace(" ", "");
                    var value5 = mt.CellValue(rowno, 5);
                    value5 = value5.Trim().Replace(",", String.Empty);
                    value5 = value5.Trim().Replace(",", String.Empty);
                    if (Title5.Contains("增持后持股比例(%)") || Title5.Contains("减持后持股比例(%)"))
                    {
                        PercentCol = 5;
                        //Console.WriteLine(Title5);
                    }
                    if (PercentCol == 5 && !value5.Contains("%"))
                    {
                        value5 += "%";
                    }
                    if (RegularTool.IsNumeric(value4) && RegularTool.IsPercent(value5))
                    {
                        //Console.WriteLine("GetHolderAfter2ndStep:" + value1);
                        HoldList.Add(new struHoldAfter()
                        {
                            Name    = value1,
                            Count   = getAfterstock(Title4, value4),
                            Percent = getAfterpercent(value5),
                            Used    = false
                        });
                        continue;
                    }
                }
            }
        }
        return(HoldList);
    }