获取excel内容

 /// <summary>
        /// 获取excel文件中的敏感词 并导入到数据库
        /// </summary>
        /// <param name="filePath">excel完整路径</param>
        /// <param name="curUserInfo">当前用户信息</param>
        /// <param name="IsDelectFile">是否删除excel文件</param>
        /// <returns></returns>
        public bool SaveExcelDirtyConfig(string filePath, UserInfo_M curUserInfo, ref string note, bool IsDelectFile = false)
        {
            bool resule = false;
            try
            {
                string strConn = "";
                var nowDate = DateTime.Now;
                var dCompanyID = curUserInfo.CompanyID;
                var dwConfig = new List<DirtyWordConfig>();
                if ((Path.GetExtension(filePath)).ToLower() == ".xlsx")
                {
                    strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source={0};" + "Extended Properties='Excel 8.0;HDR=NO;IMEX=1';", filePath);
                }
                else
                {
                    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "data source=" + filePath + ";Extended Properties=Excel 5.0;Persist Security Info=False";
                }
                string strExcel = "select * from [sheet1$]";
                var ole = new OleDbConnection(strConn);
                ole.Open();
                var da = new OleDbDataAdapter(strExcel, ole);
                var dt = new DataTable();
                da.Fill(dt);
                //因为生成Excel的时候第一行是标题,所以要做如下操作:  
                // 获取数据从第二行开始
                for (int i = 1; i < dt.Rows.Count; i++)
                {
                    if (!string.IsNullOrWhiteSpace(dt.Rows[i][0].ToString()))
                    {
                        dwConfig.Add(new DirtyWordConfig()
                        {
                            ID = Guid.NewGuid().ToString().Replace("-", ""),
                            CreateDate = nowDate,
                            DirtyWord = dt.Rows[i][0].ToString().Trim(),
                            IsEnabled = "1",
                            Desc = dt.Rows[i][1].ToString()
                        });
                    }
                }
                ole.Close();
                if (dwConfig.Count > 0)
                {
                    resule = AddListDirtyWordConfig(dwConfig, ref note);
                }
            }
            catch (Exception ex)
            {
                Gd.Common.SysErrorLog.Write(ex.ToString());
                note = "excel读取失败";
                resule = false;
            }
            finally
            {
                if (IsDelectFile && File.Exists(filePath))
                { File.Delete(filePath); }
            }
            return resule;
        }

猜你喜欢

转载自blog.csdn.net/programmerfanwei/article/details/81531236