c#数据导入


       
 

#region Excel导入数据页面

        public ActionResult ImportWaterData(string type)
        {
            ViewBag.type = type;
            return View();
        }
        /// <summary>
        /// 导入水数据
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="type"></param>
        /// <param name="time"></param>
        /// <param name="facetype">断面类型</param>
        /// <returns></returns>
        public JsonResult UploadExcelData(string fileName, string type, string time, string facetype, string timetype, bool proItem = false)
        {
            JsonMsg jsonMsg = new JsonMsg
            {
                Result = false,
                Message = "导入数据失败!"
            };
            try
            {
                string[] array = fileName.Split(new char[]
                {
                    '.'
                });
                DataTable dataTable = null;
                try
                {
                    string str = base.Server.MapPath("~");
                    string text = "/Upload/Water/";
                    if (!Directory.Exists(str + text))
                    {
                        Directory.CreateDirectory(str + text);
                    }
                    string str2 = string.Concat(new string[] { text, type, array[0], ".", array[1] });
                    base.Request.Files["fileImport"].SaveAs(str + str2);
                    ExcelToData excelToData = new ExcelToData(str + str2);
                    dataTable = excelToData.ExcelToDataTable(null, true);
                }
                catch (Exception ex)
                {
                    dataTable = null;
                    jsonMsg.Result = false;
                    jsonMsg.Message = "文件格式错误";
                    Log.Info(ex.ToString());
                }
                if (type == "DBS" || type == "地表水")
                {
                    jsonMsg = ImportExcelData_DBS(dataTable, time, facetype, proItem);
                }
                else if (type == "DBSGK")
                {
                    jsonMsg = ImportExcelData_DBS(dataTable, time, facetype, proItem, true, 2);
                }
                else if (type == "DXS" || type == "地下水")
                {
                    jsonMsg = ImportExcelData_DXS(dataTable, time, facetype, proItem);
                }
                else if (type == "ZDZ" || type == "自动站")
                {
                    jsonMsg = ImportExcelData_ZDZ(dataTable, timetype);
                }
            }
            catch (Exception ee)
            {

            }
            systemlogsManager.AddLogs(NetHelper.GetHostAddress(), DateTime.Now, CurrentUser.GetNowUser().UserName, "导入数据", jsonMsg.Message);
            return base.Json(jsonMsg);
        }

        #endregion

 
        #region 数据-导入


        /// <summary>
        /// 导入
        /// </summary>
        /// <returns></returns>
        public JsonMsg ImportExcelData_GGS(DataTable dataTable)
        {
            int regionId = CurrentUser.GetNowUser().RegionId;
            JsonMsg jsonMsg = new JsonMsg();
            StringBuilder stringBuilder = new StringBuilder();
            string errorStr = "";
            try
            {
                if (dataTable != null)
                {
                    string tableName = "[dbo].[test]";
                    string typeStr = "数据导入";
                    int num = 0;
                    int num2 = 0;
                    IList<string> list = new List<string>();
                    string s = time + "-01";
                    DateTime jointTime = DateTime.Parse(s);

                    foreach (DataRow dataRow in dataTable.Rows)
                    {
                        if (num <= dataTable.Rows.Count - 1)
                        {
                            if (!isNameWhere && (dataRow["编码"] == null || dataRow["编码"].ToString().Trim() == ""))
                            {
                                num2++;
                                errorStr = "导入失败," + dataRow["编码"].ToString() + "数据错误!断面为空。";
                                list.Add(errorStr);
                            }
                            
                            else if (isNameWhere && (dataRow["名称"] == null || dataRow["断面名称"].ToString().Trim() == ""))
                            {
                                num2++;
                                errorStr = "导入失败," + dataRow["名称"].ToString() + "数据错误!断面为空。";
                                list.Add(errorStr);
                            }
                            else
                            {
                                errorStr = dataRow["名称"].ToString() + " " + dataRow["断面名称"].ToString();

                                Data_Base model = new Data_Base ();
                                model.Temp = -1m;
                                model.Temp_Mark  = "";

                                model.UpdateTime = DateTime.Now;
                                model.UpdateUser = CurrentUser.GetNowUser().RealName;
                                

                                if (modelType == 1)
                                {
                                    string jysj = dataRow["采样时间"].ToString();
                                    if (jysj == "——" || jysj == "--")
                                    {
                                        model.JointTime = jointTime;
                                    }
                                    else if (jysj.Contains("/"))
                                    {
                                        var timett = GetDateTimeStr(jysj);
                                        model.JointTime = DateTime.Parse(timett);
                                    }
                                    else
                                    {
                                        model.JointTime = DateTime.Parse(jysj);
                                    }
                                    model.Year = model.JointTime.Year.ToString();
                                    model.Month = model.JointTime.Month.ToString();
                                    model.Day = model.JointTime.Day.ToString();
                                }
                                else if (modelType == 2)
                                {
                                    string year = dataRow["监测年份"].ToString();
                                    string month = dataRow["监测月份"].ToString();

                                    if (!string.IsNullOrEmpty(year) && !string.IsNullOrEmpty(month))
                                    {
                                        var tt = year + "-" + month + "-01";
                                        try
                                        {
                                            model.JointTime = DateTime.Parse(tt);
                                        }
                                        catch (Exception ee) { }
                                    }
                                    else
                                    {
                                        model.JointTime = jointTime;
                                    }
                                    model.Year = model.JointTime.Year.ToString();
                                    model.Month = model.JointTime.Month.ToString();
                                    model.Day = model.JointTime.Day.ToString();
                                }


                              
                                try { var Pointtype = dataRow["类型"].ToString(); }
                                catch (Exception ee) { systemlogsManager.AddLogNet(CurrentUser.GetNowUser().UserName, DateTime.Now, typeStr, ee.ToString(), "点位类型"); }
                               
                                try { model.ReMark = dataRow["备注"].ToString(); }
                                catch (Exception ee) { systemlogsManager.AddLogNet(CurrentUser.GetNowUser().UserName, DateTime.Now, typeStr, ee.ToString(), "备注"); }

                                // 导入项目

                                string text2 = "L";
                                string b = "-";
                                string b2 = "--";

                                if (dataRow["温度(℃)"].ToString().Trim() != b && dataRow["温度(℃)"].ToString().Trim() != b2 && dataRow["温度(℃)"] != null && dataRow["温度(℃)"] != "")
                                {
                                    string text3 = dataRow["温度(℃)"].ToString().Trim();
                                    if (text3.Contains(text2))
                                    {
                                        model.Temp = decimal.Parse(text3.Replace(text2, ""));
                                        model.Temp_Mark = text2;
                                    }
                                    else
                                    {
                                        model.Temp = ((decimal.Parse(text3) == -1m) ? -1m : decimal.Parse(text3));
                                    }
                                }

                                
                                model.LevelMark = "RI";

                                string deleteSql = " delete from " + tableName + " where JointTime = '" + model.JointTime + "'; ";
                               
                                DataManager.ExecuteNonQueryCount(deleteSql);
                                stringBuilder.Append(DataManager.BaseAdd(model).ToString());
                               
                            }
                        }
                    }
                    if (stringBuilder.Length > 0)
                    {
                        int num3 = this.DataManager.ExecuteNonQueryCount(stringBuilder.ToString());
                        if (num2 == 0 && num3 != -1)
                        {
                            jsonMsg.Result = true;
                            jsonMsg.Message = "导入成功" + num3 + "条";
                        }
                        else
                        {
                            jsonMsg.Result = false;
                            jsonMsg.Message = string.Join(",", list.ToArray<string>());
                        }
                    }
                    else
                    {
                        jsonMsg.Result = false;
                        jsonMsg.Message = string.Join(",", list.ToArray<string>());
                    }
                }
                else
                {
                    jsonMsg.Result = false;
                    jsonMsg.Message = "数据不能为空!";
                }
            }
            catch (Exception ee)
            {
                jsonMsg.Result = false;
                jsonMsg.Message = errorStr + ee.ToString();
            }
            systemlogsManager.AddLogs(NetHelper.GetHostAddress(), DateTime.Now, CurrentUser.GetNowUser().UserName, "导入数据", jsonMsg.Message);
            return jsonMsg;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值