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