Asp.net-工具类

来源:互联网 发布:erp软件图标素材 编辑:程序博客网 时间:2024/06/10 19:41

(1).汉字转拼音

   实现思想:微软封装有语言包,用的是后需要引入。

   代码实现:

/// <returns>拼音字符串</returns>        public static string GetPinYins(stringstrCh)        {            StringBuilder sb = newStringBuilder();            string strPinYins = string.Empty;            foreach (char c in strCh)//循环读取字符串中的每个汉字字符            {                if (ChineseChar.IsValidChar(c))                {                    ChineseChar chC = newChineseChar(c);//根据汉字字符创建 汉字对象                    //获得汉字对应的第一个拼音,并去掉音调(最后一个字符串) 乐(YUE4,LE4)                   sb.Append(chC.Pinyins[0].Substring(0, chC.Pinyins[0].Length - 1));                }                else                {                    sb.Append(c);                }            }            return sb.ToString();        } 


(2).发邮件

  在使用之前,导入命名空间using system.netusing system.net.mail

           

 MailMessage msg = new MailMessage();            msg.Priority = MailPriority.High;              //发件人的信息            msg.From = newMailAddress("james@oumind.com","纯洁的JamesZou");             //收件人信息            msg.To.Add(newMailAddress("yezi@oumind.com","dear Zi"));            msg.Subject = txtTitle.Text.Trim();            msg.Body = txtContent.Text.Trim();            //发送邮件            SmtpClient client = newSmtpClient("127.0.0.1");//;("127.0.0.1");//smtp.126.com            //设置发送服务器登录 的用户名和密码            client.Credentials = newNetworkCredential("james", "1111111");//这里的用户名必须是From发件人的用户            //有的邮箱的用户名需要“yzk@rupeng.com”,有的只需要“yzk”            client.Send(msg);//发送            msgDiv.MsgDivShow("发送成功~~: )", 1,this.Close);

 

(1)  操作Excel

C# 操作Excel用多种方法,用openXML来操作Excel2007及以上版本,而更多的时候用NPOI操作Excel:

NPOI读取EXCEL代码实现:

    

   #region 读取Excel文件       /// <summary>       /// 读取Excel文件       /// </summary>       private void btnRead_Click(object sender, EventArgs e)       {           string strPath = txtFilePath.Text;//获得 要读取 的 excel文件 路径           using (Stream file = File.OpenRead(strPath))//将 指定 的 文件 以流的方式读取到 file对象中           {                //将 文件流 对象 传入 workbook,此时,workbook 就相当于一个 Excel文件操作对象了                HSSFWorkbook workbook = newHSSFWorkbook(file);                //获得 Excel中 第一个工作表的 名字               //MessageBox.Show(workbook.GetSheetName(0));                //获得 Excel 中 第一个 表                HSSFSheet sheet =workbook.GetSheetAt(0);                //获得总行数                int rowNum = sheet.LastRowNum;                //保存整个表的数据                StringBuilder sbExcelData = newStringBuilder();                for (int j = 0; j < rowNum;j++)                {                    //每行中所有的列的值                    string strFirstRow =string.Empty;                    //获得 当前循环的 行                    HSSFRow dr =sheet.GetRow(j);                    for (int i = 0; i <dr.LastCellNum; i++)                    {                        strFirstRow +=dr.GetCell(i).StringCellValue + ",";                       //MessageBox.Show(sheet.GetRow(0).GetCell(1).StringCellValue);//.LastCellNum                    }                    sbExcelData.Append(strFirstRow+"\r\n");                }               MessageBox.Show(sbExcelData.ToString());           }       }        #endregion

 

EXCEL保存:

     

      #region 04.2 将数据保存到Excel文件       private void btnExportExcel_Click(object sender, EventArgs e)       {           //在内存中 创建 一个 空的 Excel文件对象           HSSFWorkbook wb = new HSSFWorkbook();           //在Excel文件对象中 添加一个 表格对象           HSSFSheet sheet = wb.CreateSheet();           //从数据库获得 所有的 班级数据           List<MODEL.Classes> list = bllClass.GetAllClasses();           for (int i = 0; i < list.Count; i++)           {                MODEL.Classes model=list[i];                //为了将 当前循环的班级 实体对象 的数据 写入excle表格 ,咱们立即创建一个 行                HSSFRow dr =sheet.CreateRow(i);                dr.CreateCell(0,HSSFCell.CELL_TYPE_NUMERIC).SetCellValue(model.CID);                dr.CreateCell(1,HSSFCell.CELL_TYPE_STRING).SetCellValue(model.CName);                dr.CreateCell(2,HSSFCell.CELL_TYPE_NUMERIC).SetCellValue(model.CCount);                dr.CreateCell(3,HSSFCell.CELL_TYPE_STRING).SetCellValue(model.CAddTime.ToString());           }           //根据路径 创建一个文件流对象           using (Stream st = new FileStream(txtFilePath.Text,FileMode.OpenOrCreate))           {                //st.Flush()                int o = 0;                //将 内存中 的 Excel文件对象 的内容通过文件流对象 保存到硬盘中                wb.Write(st);                msgDiv.MsgDivShow("保存成功:" +txtFilePath.Text);           }       }        #endregion 

(2)  文件选择框

分为OpenFileDialog 和 SaveFileDialog:

#region 04.选择路径       private void btnChooseFile_Click(object sender, EventArgs e)       {           //OpenFileDialog ofd = new OpenFileDialog();//使用打开文件对话框(用来选择要打开的文件)           SaveFileDialog sfd = new SaveFileDialog();//使用保存文件对话框(用来选择要保存文件的路径)           if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)           {               string strPath =sfd.FileName;//获得要保存的文件路径                txtFilePath.Text = strPath;//将选择的文件物理路径 显示在文本框中           }       }        #endregion


 

 

(3)  MD5 散列加密实现

导入命名空间:System.Web.Security.FormsAuthentication

     

  /// <summary>       /// md5加密       /// </summary>       /// <param name="strOri">要加密的明文</param>       /// <returns>加密后的密文</returns>       public static string MD5(string strOri)       {           string md5Str =System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strOri,"MD5").ToLower();           return md5Str;        }

 

(4)  动软生成器

具体可以百度  .net 代码生成器,可以提高编码速度,当然有一款codeSmith可以自己定义动态生成的格式和代码。



0 0
原创粉丝点击