Example #1
0
 public XNYFiller(WebBrowser2 browser, Uri currentUri, XNYUrlParameter urlParameter)
     : base(browser, currentUri)
 {
     _parameters   = new List <KeyValuePair <FillParameterKey, object> >();
     _urlParameter = urlParameter;
     formIndexes   = new Dictionary <string, int>();
 }
Example #2
0
        protected override Hashtable GetUris()
        {
            Hashtable uris = new Hashtable();
            //读取新能源下面的公共页面(路径)
            string fileName = FileHelper.GetPublicPage(base.Version, base.FillType);

            using (Office.Excel.ForwardExcelReader pages = new Office.Excel.ForwardExcelReader(string.Format("{0}\\{1}", base.RuleFilePath, fileName)))
            {
                pages.Open();
                Office.Excel.ForwardReadWorksheet sheet = pages.Activate("页面汇总") as Office.Excel.ForwardReadWorksheet;
                if (sheet != null)
                {
                    XNYUrlParameter urlParameter = null;
                    Uri             url          = null;
                    Hashtable       columnHeader = GetColumnHeader(sheet);
                    while (sheet.ReadNextRow()) // 读取下一行。
                    {
                        urlParameter = new XNYUrlParameter();
                        while (sheet.ReadNextCell(false)) // 读取本行的下一个单元格数据。
                        {
                            switch (columnHeader[sheet.CurrentCell.ColumnIndex] as string)
                            {
                            case "URL":
                                url = new Uri(sheet.GetContent() as string);
                                break;

                            case "页面标签":
                                urlParameter.LabelName = sheet.GetContent() as string;
                                break;

                            case "所属Excel":
                                urlParameter.IsPublicUrl = ((sheet.GetContent() as string) == "公共页面");
                                break;

                            case "表数据":
                                urlParameter.IsTableData = ((sheet.GetContent() as string) == "是");
                                break;
                            }
                        }
                        if (url != null && string.IsNullOrEmpty(url.ToString()) == false)
                        {
                            if (uris.ContainsKey(url.AbsolutePath))
                            {
                                continue;
                            }
                            uris.Add(url.AbsolutePath, urlParameter);
                        }
                    }
                }
                sheet = pages.Activate(carTypeName) as Office.Excel.ForwardReadWorksheet;
                if (sheet != null)
                {
                    _carTypeList = ReadCarTypeList(sheet);
                }
                else
                {
                    throw new ArgumentException(string.Format("填报规则中没有名为“{0}”的工作表。", carTypeName));
                }
            }
            return(uris);
        }