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); }