예제 #1
0
        /// <summary>
        /// 读取填报规则。
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        private Hashtable ReadFillParameter(string fileName)
        {
            Hashtable columnHeader   = new Hashtable();
            Hashtable fillParameters = new Hashtable();

            using (Office.Excel.ForwardExcelReader reader = new Office.Excel.ForwardExcelReader(fileName))
            {
                reader.Open();
                Office.Excel.ForwardReadWorksheet sheet = reader.Activate("填报规则") as Office.Excel.ForwardReadWorksheet;
                if (sheet != null)
                {
                    object header = null;
                    if (sheet.ReadNextRow() && sheet.CurrentRowIndex == 1)
                    {
                        while (sheet.ReadNextCell(false))
                        {
                            header = sheet.GetContent();
                            columnHeader.Add(sheet.CurrentCell.ColumnIndex, header == null ? "" : header.ToString());
                        }
                    }
                    FillParameter3C fillParameter = null;
                    object          content       = null;
                    string          str           = null;
                    while (sheet.ReadNextRow())
                    {
                        fillParameter = new FillParameter3C();
                        while (sheet.ReadNextCell(false))
                        {
                            content = sheet.GetContent();
                            str     = content == null ? "" : content.ToString();
                            switch (columnHeader[sheet.CurrentCell.ColumnIndex] as string)
                            {
                            case "参数编号":
                                fillParameter.Key = str;
                                break;

                            case "类型":
                                fillParameter.Type = str;
                                break;

                            case "编辑窗口类型":
                                fillParameter.EditType = str;
                                break;

                            case "下拉框选择方式":
                                fillParameter.IsComboBoxPreciseMatch = str == "包含";
                                break;

                            case "参数分割符":
                                fillParameter.SetSeparator(str);
                                break;
                            }
                        }
                        if (string.IsNullOrEmpty(fillParameter.Key) == false)
                        {
                            fillParameters.Add(fillParameter.Key, fillParameter);
                        }
                    }
                }
            }
            return(fillParameters);
        }