コード例 #1
0
        /// <summary>
        /// 得到一个组合项目
        /// </summary>
        /// <param name="yybh"></param>
        /// <param name="zhxmbh"></param>
        /// <returns></returns>
        public XtZhxmbModel GetZhxm(string yybh, string zhxmbh)
        {
            using (IDbConnection conn = new DapperConnection().DbConnection)
            {
                string sql = "select * from xt_zhxmb a where yybh=@yybh and zhxmbh=@zhxmbh";

                XtZhxmbModel model = conn.Query <XtZhxmbModel>(sql, new { yybh = yybh, zhxmbh = zhxmbh }).FirstOrDefault();
                return(model);
            }
        }
コード例 #2
0
        /// <summary>
        /// 将excel中的数据导入到list中
        /// </summary>
        /// <param name="sheetName">excel工作薄sheet的名称</param>
        /// <param name="isFirstRowColumn">第一行是否是DataTable的列名</param>
        /// <returns>返回的DataTable</returns>
        public List <XtZhxmbModel> ExcelToList(string fileName, string sheetName, out string msg)
        {
            ISheet    sheet    = null;
            IWorkbook workbook = null;
            int       startRow = 1;

            msg = string.Empty;
            List <XtZhxmbModel> lstModels = new List <XtZhxmbModel>();

            try
            {
                FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                if (fileName.IndexOf(".xlsx") > 0) // 2007版本
                {
                    workbook = new XSSFWorkbook(fs);
                }
                else if (fileName.IndexOf(".xls") > 0) // 2003版本
                {
                    workbook = new HSSFWorkbook(fs);
                }

                if (sheetName != null)
                {
                    sheet = workbook.GetSheet(sheetName);
                    if (sheet == null) //如果没有找到指定的sheetName对应的sheet,则尝试获取第一个sheet
                    {
                        sheet = workbook.GetSheetAt(0);
                    }
                }
                else
                {
                    sheet = workbook.GetSheetAt(0);
                }
                if (sheet != null)
                {
                    IRow firstRow  = sheet.GetRow(0);
                    int  cellCount = firstRow.LastCellNum; //一行最后一个cell的编号 即总的列数
                    int  col       = cellCount;            //总列数
                    if (!ValidateTemplate(firstRow, col))
                    {
                        msg = "模板错误,请下载并使用正确的模板";
                        return(null);
                    }

                    //最后一行的标号
                    int rowCount = sheet.LastRowNum;
                    for (int i = startRow; i <= rowCount; ++i)
                    {
                        IRow row = sheet.GetRow(i);
                        if (row == null)
                        {
                            continue;              //没有数据的行默认是null
                        }
                        XtZhxmbModel model = new XtZhxmbModel();

                        model.yybh   = GLYadmin.YYID;
                        model.zhxmbh = GetCellValue(row, 0).ToString().Trim();
                        if (string.IsNullOrWhiteSpace(model.zhxmbh))
                        {
                            msg = $"第{i}行组合项目编号不能为空";
                            return(null);
                        }
                        model.zhxmmc = GetCellValue(row, 1).ToString().Trim();
                        if (string.IsNullOrWhiteSpace(model.zhxmmc))
                        {
                            msg = $"第{i}行组合项目名称不能为空";
                            return(null);
                        }
                        model.zhxmms = GetCellValue(row, 2).ToString().Trim();
                        model.zhxmjg = Convert.ToDecimal(GetCellValue(row, 3));
                        string sex = GetCellValue(row, 4).ToString();
                        switch (sex)
                        {
                        case "男":
                            model.xb = 1;
                            break;

                        case "女":
                            model.xb = 0;
                            break;

                        case "通用":
                            model.xb = 2;
                            break;

                        default:
                            model.xb = -1;
                            break;
                        }

                        if (model.xb.Equals(-1))
                        {
                            msg = $"第{i}行性别不正确(仅支持:男,女,通用)";
                            return(null);
                        }
                        string sffk = GetCellValue(row, 5).ToString();
                        switch (sffk)
                        {
                        case "是":
                            model.sffk = 1;
                            break;

                        case "否":
                            model.sffk = 0;
                            break;

                        default:
                            model.sffk = -1;
                            break;
                        }
                        if (model.sffk.Equals(-1))
                        {
                            msg = $"第{i}行是否妇科不正确(仅支持:是,否)";
                            return(null);
                        }
                        string sfqy = GetCellValue(row, 6).ToString();
                        switch (sfqy)
                        {
                        case "是":
                            model.sfqy = 1;
                            break;

                        case "否":
                            model.sfqy = 0;
                            break;

                        default:
                            model.sfqy = -1;
                            break;
                        }
                        if (model.sfqy.Equals(-1))
                        {
                            msg = $"第{i}行是否启用不正确(仅支持:是,否)";
                            return(null);
                        }
                        model.zhxmksbh = GetCellValue(row, 7).ToString().Trim();
                        if (string.IsNullOrWhiteSpace(model.zhxmksbh))
                        {
                            msg = $"第{i}行组合项目科室编号不能为空";
                            return(null);
                        }
                        model.zhxmksmc = GetCellValue(row, 8).ToString().Trim();
                        if (string.IsNullOrWhiteSpace(model.zhxmksmc))
                        {
                            msg = $"第{i}行组合项目科室名称不能为空";
                            return(null);
                        }
                        model.sxrs = Convert.ToInt32(GetCellValue(row, 9));
                        lstModels.Add(model);
                    }
                }

                if (lstModels.Count.Equals(0))
                {
                    msg = "模板不能为空";
                    return(null);
                }
                return(lstModels);
            }
            catch (Exception ex)
            {
                msg = "读取模板失败";
                Log.WriteLog(ex.Message);
                return(null);
            }
        }