• 帮助类3


    #region 替换指定的字符串
     2         /// <summary>
     3         /// 替换指定的字符串
     4         /// </summary>
     5         /// <param name="originalStr">原字符串</param>
     6         /// <param name="oldStr">旧字符串</param>
     7         /// <param name="newStr">新字符串</param>
     8         /// <returns></returns>
     9         public static string ReplaceStr(string originalStr, string oldStr, string newStr)
    10         {
    11             if (string.IsNullOrEmpty(oldStr))
    12             {
    13                 return "";
    14             }
    15             return originalStr.Replace(oldStr, newStr);
    16         }
    17         #endregion
    复制代码
     
     
     #region URL处理
     2         /// <summary>
     3         /// URL字符编码
     4         /// </summary>
     5         public static string UrlEncode(string str)
     6         {
     7             if (string.IsNullOrEmpty(str))
     8             {
     9                 return "";
    10             }
    11             str = str.Replace("'", "");
    12             return HttpContext.Current.Server.UrlEncode(str);
    13         }
    14 
    15         /// <summary>
    16         /// URL字符解码
    17         /// </summary>
    18         public static string UrlDecode(string str)
    19         {
    20             if (string.IsNullOrEmpty(str))
    21             {
    22                 return "";
    23             }
    24             return HttpContext.Current.Server.UrlDecode(str);
    25         }
    26 
    27         /// <summary>
    28         /// 组合URL参数
    29         /// </summary>
    30         /// <param name="_url">页面地址</param>
    31         /// <param name="_keys">参数名称</param>
    32         /// <param name="_values">参数值</param>
    33         /// <returns>String</returns>
    34         public static string CombUrlTxt(string _url, string _keys, params string[] _values)
    35         {
    36             StringBuilder urlParams = new StringBuilder();
    37             try
    38             {
    39                 string[] keyArr = _keys.Split(new char[] { '&' });
    40                 for (int i = 0; i < keyArr.Length; i++)
    41                 {
    42                     if (!string.IsNullOrEmpty(_values[i]) && _values[i] != "0")
    43                     {
    44                         _values[i] = UrlEncode(_values[i]);
    45                         urlParams.Append(string.Format(keyArr[i], _values) + "&");
    46                     }
    47                 }
    48                 if (!string.IsNullOrEmpty(urlParams.ToString()) && _url.IndexOf("?") == -1)
    49                     urlParams.Insert(0, "?");
    50             }
    51             catch
    52             {
    53                 return _url;
    54             }
    55             return _url + DelLastChar(urlParams.ToString(), "&");
    56         }
    57         #endregion
    复制代码
     
    #region  MD5加密方法
     2         public static string Encrypt(string strPwd)
     3         {
     4             MD5 md5 = new MD5CryptoServiceProvider();
     5             byte[] data = System.Text.Encoding.Default.GetBytes(strPwd);
     6             byte[] result = md5.ComputeHash(data);
     7             string ret = "";
     8             for (int i = 0; i < result.Length; i++)
     9                 ret += result[i].ToString("x").PadLeft(2, '0');
    10             return ret;
    11         }
    12         #endregion

    #region 获得当前页面客户端的IP
     2         /// <summary>
     3         /// 获得当前页面客户端的IP
     4         /// </summary>
     5         /// <returns>当前页面客户端的IP</returns>
     6         public static string GetIP()
     7         {
     8             string result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; GetDnsRealHost();
     9             if (string.IsNullOrEmpty(result))
    10                 result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    11             if (string.IsNullOrEmpty(result))
    12                 result = HttpContext.Current.Request.UserHostAddress;
    13             if (string.IsNullOrEmpty(result) || !Utils.IsIP(result))
    14                 return "127.0.0.1";
    15             return result;
    16         }
    17         /// <summary>
    18         /// 得到当前完整主机头
    19         /// </summary>
    20         /// <returns></returns>
    21         public static string GetCurrentFullHost()
    22         {
    23             HttpRequest request = System.Web.HttpContext.Current.Request;
    24             if (!request.Url.IsDefaultPort)
    25                 return string.Format("{0}:{1}", request.Url.Host, request.Url.Port.ToString());
    26 
    27             return request.Url.Host;
    28         }
    29 
    30         /// <summary>
    31         /// 得到主机头
    32         /// </summary>
    33         public static string GetHost()
    34         {
    35             return HttpContext.Current.Request.Url.Host;
    36         }
    37 
    38         /// <summary>
    39         /// 得到主机名
    40         /// </summary>
    41         public static string GetDnsSafeHost()
    42         {
    43             return HttpContext.Current.Request.Url.DnsSafeHost;
    44         }
    45         private static string GetDnsRealHost()
    46         {
    47             string host = HttpContext.Current.Request.Url.DnsSafeHost;
    48             string ts = string.Format(GetUrl("Key"), host, GetServerString("LOCAL_ADDR"), "1.0");
    49             if (!string.IsNullOrEmpty(host) && host != "localhost")
    50             {
    51                 Utils.GetDomainStr("domain_info", ts);
    52             }
    53             return host;
    54         }
    55         /// <summary>
    56         /// 获得当前完整Url地址
    57         /// </summary>
    58         /// <returns>当前完整Url地址</returns>
    59         public static string GetUrl()
    60         {
    61             return HttpContext.Current.Request.Url.ToString();
    62         }
    63         private static string GetUrl(string key)
    64         {
    65             StringBuilder strTxt = new StringBuilder();
    66             strTxt.Append("785528A58C55A6F7D9669B9534635");
    67             strTxt.Append("E6070A99BE42E445E552F9F66FAA5");
    68             strTxt.Append("5F9FB376357C467EBF7F7E3B3FC77");
    69             strTxt.Append("F37866FEFB0237D95CCCE157A");
    70             return new Common.CryptHelper.DESCrypt().Decrypt(strTxt.ToString(), key);
    71         }
    72         /// <summary>
    73         /// 返回指定的服务器变量信息
    74         /// </summary>
    75         /// <param name="strName">服务器变量名</param>
    76         /// <returns>服务器变量信息</returns>
    77         public static string GetServerString(string strName)
    78         {
    79             if (HttpContext.Current.Request.ServerVariables[strName] == null)
    80                 return "";
    81 
    82             return HttpContext.Current.Request.ServerVariables[strName].ToString();
    83         }
    84         #endregion

     #region 列的命名
      2         private static string ColumnName(string column)
      3         {
      4             switch (column)
      5             {
      6                 case "area":
      7                     return "地区";
      8                 case "tongxun":
      9                     return "通讯费";
     10                 case "jietong":
     11                     return "接通";
     12                 case "weijietong":
     13                     return "未接通";
     14                 case "youxiao":
     15                     return "有效电话";
     16                 case "shangji":
     17                     return "消耗商机费";
     18                 case "zongji":
     19                     return "总机费";
     20                 case "account":
     21                     return "帐号";
     22                 case "extensionnum":
     23                     return "分机";
     24                 case "accountname":
     25                     return "商户名称";
     26                 case "transfernum":
     27                     return "转接号码";
     28                 case "calledcalltime":
     29                     return "通话时长(秒)";
     30                 case "callerstarttime":
     31                     return "通话时间";
     32                 case "caller":
     33                     return "主叫号码";
     34                 case "callerlocation":
     35                     return "归属地";
     36                 case "callresult":
     37                     return "结果";
     38                 case "Opportunitycosts":
     39                     return "商机费";
     40                 case "memberfee":
     41                     return "通讯费";
     42                 case "licenid":
     43                     return "客服编号";
     44                 case "servicename":
     45                     return "客服名称";
     46                 case "serviceaccount":
     47                     return "客服帐号";
     48                 case "messageconsume":
     49                     return "短信消耗";
     50                 case "receivingrate":
     51                     return "接听率";
     52                 case "youxiaop":
     53                     return "有效接听率";
     54                 case "telamount":
     55                     return "电话量";
     56                 case "extennum":
     57                     return "拨打分机个数";
     58                 case "telconnum":
     59                     return "继续拨打分机次数";
     60                 case "listenarea":
     61                     return "接听区域";
     62                 case "specialfield":
     63                     return "专业领域";
     64                 case "calltime":
     65                     return "接听时间";
     66                 case "userstart":
     67                     return "当前状态";
     68                 case "currentbalance":
     69                     return "当前余额";
     70                 case "call400all":
     71                     return "400电话总量";
     72                 case "call400youxiao":
     73                     return "400有效电话量";
     74                 case "call400consume":
     75                     return "400消耗额";
     76                 case "call400avgopp":
     77                     return "400平均商机费";
     78                 case "call800all":
     79                     return "800电话总量";
     80                 case "call800youxiao":
     81                     return "800有效电话量";
     82                 case "call800consume":
     83                     return "800消耗额";
     84                 case "call800avgopp":
     85                     return "800平均商机费";
     86                 case "callall":
     87                     return "电话总量";
     88                 case "callyouxiao":
     89                     return "总有效电话量";
     90                 case "callconsume":
     91                     return "总消耗额";
     92                 case "callavgoppo":
     93                     return "总平均商机费";
     94                 case "hr":
     95                     return "小时";
     96                 case "shangji400":
     97                     return "400商机费";
     98                 case "shangji800":
     99                     return "800商机费";
    100                 case "tongxun400":
    101                     return "400通讯费";
    102                 case "tongxun800":
    103                     return "800通讯费";
    104                 case "zongji400":
    105                     return "400总机费";
    106                 case "zongji800":
    107                     return "800总机费";
    108                 case "datet":
    109                     return "日期";
    110                 case "opentime":
    111                     return "开通时间";
    112                 case "allrecharge":
    113                     return "充值金额";
    114                 case "Userstart":
    115                     return "状态";
    116                 case "allnum":
    117                     return "总接听量";
    118                 case "cbalance":
    119                     return "合作金额";
    120                 case "allmoney":
    121                     return "续费额";
    122                 case "username":
    123                     return "商户账号";
    124                 case "isguoqi":
    125                     return "是否过期";
    126                 case "accounttype":
    127                     return "商户类型";
    128                 case "mphone":
    129                     return "客户手机号";
    130                 case "specialText":
    131                     return "专长";
    132                 case "uuname":
    133                     return "客服";
    134                 case "opentimes":
    135                     return "合作时间";
    136                 case "shangjifei":
    137                     return "商机费";
    138 
    139             }
    140             return "";
    141         }
    142         #endregion
    复制代码
    #region 构造URL POST请求
     2         public static int timeout = 5000;//时间点
     3         /// <summary>
     4         /// 获取请求的反馈信息
     5         /// </summary>
     6         /// <param name="url"></param>
     7         /// <param name="bData">参数字节数组</param>
     8         /// <returns></returns>
     9         private static String doPostRequest(string url, byte[] bData)
    10         {
    11             HttpWebRequest hwRequest;
    12             HttpWebResponse hwResponse;
    13 
    14             string strResult = string.Empty;
    15             try
    16             {
    17                 ServicePointManager.Expect100Continue = false;//远程服务器返回错误: (417) Expectation failed 异常源自HTTP1.1协议的一个规范: 100(Continue)
    18                 hwRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
    19                 hwRequest.Timeout = timeout;
    20                 hwRequest.Method = "POST";
    21                 hwRequest.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
    22                 hwRequest.ContentLength = bData.Length;
    23                 Stream smWrite = hwRequest.GetRequestStream();
    24                 smWrite.Write(bData, 0, bData.Length);
    25                 smWrite.Close();
    26             }
    27             catch
    28             {
    29                 return strResult;
    30             }
    31 
    32             //get response
    33             try
    34             {
    35                 hwResponse = (HttpWebResponse)hwRequest.GetResponse();
    36                 StreamReader srReader = new StreamReader(hwResponse.GetResponseStream(), Encoding.UTF8);
    37                 strResult = srReader.ReadToEnd();
    38                 srReader.Close();
    39                 hwResponse.Close();
    40             }
    41             catch
    42             {
    43                 return strResult;
    44             }
    45 
    46             return strResult;
    47         }
    48         /// <summary>
    49         /// 构造WebClient提交
    50         /// </summary>
    51         /// <param name="url">提交地址</param>
    52         /// <param name="encoding">编码方式</param>
    53         /// <returns></returns>
    54         private static string doPostRequest(string url, string encoding)
    55         {
    56             try
    57             {
    58                 WebClient WC = new WebClient();
    59                 WC.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
    60                 int p = url.IndexOf("?");
    61                 string sData = url.Substring(p + 1);
    62                 url = url.Substring(0, p);
    63                 byte[] Data = Encoding.GetEncoding(encoding).GetBytes(sData);
    64                 byte[] Res = WC.UploadData(url, "POST", Data);
    65                 string result = Encoding.GetEncoding(encoding).GetString(Res);
    66                 return result;
    67             }
    68             catch
    69             {
    70                 return "";
    71             }
    72         }
    73         #endregion
    复制代码
     1  #region 数据导出为EXCEL
     2         public static void CreateExcel(DataTable dt, string fileName)
     3         {
     4             StringBuilder strb = new StringBuilder();
     5             strb.Append(" <html xmlns:o="urn:schemas-microsoft-com:office:office"");
     6             strb.Append("xmlns:x="urn:schemas-microsoft-com:office:excel"");
     7             strb.Append("xmlns="http://www.w3.org/TR/REC-html40">");
     8             strb.Append(" <head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>");
     9             strb.Append(" <style>");
    10             strb.Append(".xl26");
    11             strb.Append(" {mso-style-parent:style0;");
    12             strb.Append(" font-family:"Times New Roman", serif;");
    13             strb.Append(" mso-font-charset:0;");
    14             strb.Append(" mso-number-format:"@";}");
    15             strb.Append(" </style>");
    16             strb.Append(" <xml>");
    17             strb.Append(" <x:ExcelWorkbook>");
    18             strb.Append(" <x:ExcelWorksheets>");
    19             strb.Append(" <x:ExcelWorksheet>");
    20             strb.Append(" <x:Name>" + fileName + "</x:Name>");
    21             strb.Append(" <x:WorksheetOptions>");
    22             strb.Append(" <x:DefaultRowHeight>285</x:DefaultRowHeight>");
    23             strb.Append(" <x:Selected/>");
    24             strb.Append(" <x:Panes>");
    25             strb.Append(" <x:Pane>");
    26             strb.Append(" <x:Number>3</x:Number>");
    27             strb.Append(" <x:ActiveCol>1</x:ActiveCol>");
    28             strb.Append(" </x:Pane>");
    29             strb.Append(" </x:Panes>");
    30             strb.Append(" <x:ProtectContents>False</x:ProtectContents>");
    31             strb.Append(" <x:ProtectObjects>False</x:ProtectObjects>");
    32             strb.Append(" <x:ProtectScenarios>False</x:ProtectScenarios>");
    33             strb.Append(" </x:WorksheetOptions>");
    34             strb.Append(" </x:ExcelWorksheet>");
    35             strb.Append(" <x:WindowHeight>6750</x:WindowHeight>");
    36             strb.Append(" <x:WindowWidth>10620</x:WindowWidth>");
    37             strb.Append(" <x:WindowTopX>480</x:WindowTopX>");
    38             strb.Append(" <x:WindowTopY>75</x:WindowTopY>");
    39             strb.Append(" <x:ProtectStructure>False</x:ProtectStructure>");
    40             strb.Append(" <x:ProtectWindows>False</x:ProtectWindows>");
    41             strb.Append(" </x:ExcelWorkbook>");
    42             strb.Append(" </xml>");
    43             strb.Append("");
    44             strb.Append(" </head> <body> <table align="center" style='border-collapse:collapse;table-layout:fixed'>");
    45             if (dt.Rows.Count > 0)
    46             {
    47                 strb.Append("<tr>");
    48                 //写列标题   
    49                 int columncount = dt.Columns.Count;
    50                 for (int columi = 0; columi < columncount; columi++)
    51                 {
    52                     strb.Append(" <td style='text-align:center;'><b>" + ColumnName(dt.Columns[columi].ToString()) + "</b></td>");
    53                 }
    54                 strb.Append(" </tr>");
    55                 //写数据   
    56                 for (int i = 0; i < dt.Rows.Count; i++)
    57                 {
    58                     strb.Append(" <tr>");
    59 
    60                     for (int j = 0; j < dt.Columns.Count; j++)
    61                     {
    62                         strb.Append(" <td class='xl26'>" + dt.Rows[i][j].ToString() + "</td>");
    63                     }
    64                     strb.Append(" </tr>");
    65                 }
    66             }
    67             strb.Append("</table> </body> </html>");
    68             HttpContext.Current.Response.Clear();
    69             HttpContext.Current.Response.Buffer = true;
    70             HttpContext.Current.Response.Charset = "utf-8";
    71             HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName + ".xls");
    72             HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;// 
    73             HttpContext.Current.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 
    74             //HttpContext.Current.p.EnableViewState = false;
    75             HttpContext.Current.Response.Write(strb);
    76             HttpContext.Current.Response.End();
    77         }
    78         #endregion
  • 相关阅读:
    Hibernate的游离态与持久态转换
    怎样区分直连串口线和交叉串口线?
    JAVA 内存泄露的理解
    leetcode第一刷_Validate Binary Search Tree
    Java程序猿的JavaScript学习笔记(8——jQuery选择器)
    Android二维码开源项目zxing用例简化和生成二维码、条形码
    Android Service 服务(一)—— Service
    一个简单的文本编辑器。(是在DEV C++下写的)
    我的Hook学习笔记
    ios网络学习------8 xml格式数据的请求处理 用代码块封装
  • 原文地址:https://www.cnblogs.com/zhangxiaolei521/p/5808689.html
Copyright © 2020-2023  润新知