记录.NET学习的点滴,欢迎收藏我的博客

作者:路过秋天 http://cyq1162.cnblogs.com | www.mmic.net.cn欢迎大家交流,这里是我记录的空间方便以后工作查找
公告信息
记录.NET学习的点滴,欢迎收藏我的博客
文章分类
文章档案
文章
MD5 Excel操作 邮件发送 拼音方法
2011/8/15 13:18:03
1判断是否包含列 DataRow dr; dr.Table.Columns.Contains(列名) 2判断该列是否为NULL: DBNull.Value != dr[列名] 3.MD5算法: MD5算法是一种散列(hash)算法(摘要算法,指纹算法),不是一种压缩算法,[不是一种加密算法].任何长度的任意内容都可以用MD5加密计算出散列值,我们可以用CalcMD5进行计算,MD5长度一半是32位的十六进制数字符串(比如71f396e4134a1160d90bb1439876df31),MD5值得个数是有限的,但是元数据是无限的,因此存在着不同的内容产生相同MD5的概率,但是不同内容产生相同MD5值的概率非常非常小。MD5算法不可逆,也就是只能得到内容对应的MD5值,无法由MD5的值反推内容。用法:首先引入程序集System.web,然后引入命名空间using System.Web.Security;最后一行代码就可以加密了,下面就是神奇的加密: string md5=FormsAuthentication.HashPasswordForStoringInConfigFile(pwd,"MD5"); 4.程序处理Excel的技术: (1)OLE Automation:程序启动一个Excel进程,然后和Excel进程进行通讯来进行Excel的操作。优点:强大,能够使用Excel的所有功能,要求装Excel,微软最推荐这种用法,因为可以促进Excel的销量。会启动Excel进程,不适合于服务器(比如Asp.Net网站,安全性、效率)。参考资料http://topic.csdn.net/t/20031204/09/2525334.html。演示一下。演示一下,引用Excel.Interop,代码在备注 (2)把Excel当成数据库,使用Microsoft.Jet.OleDb访问访问Excel ,参考资料 http://tieba.baidu.com/f?kz=331569890 只适合于完全二维结构,功能最弱,很少用。不用装Excel。 (3) OpenXML,微软提供的读写Excel的技术,优点和NPOI差不多,不过只能处理xlsx格式文件。docx、pptx。 (4)NPOI、MyXls等,NPOI能够分析Excel文件的格式,能够进行常用Excel操作,不依赖于Excel,节省资源,没有安全性、性能的问题,在ASP.net中用最合适。只能处理xls格式文件、不能处理xlsx这样的新版本Excel文件格式。处理xlsx还要用OpenXML。 (5)读取Excel: 判断单元格的数据类型:读取GetCell(1).CellType.与HSSFCell类种定义的常量比较即可判断使用区域:结束行号LastRowNum 写入Excel: #region 04.2 将数据保存到Excel文件 private void btnExportExcel_Click(object sender, EventArgs e) { //在内存中 创建 一个 空的 Excel文件对象 HSSFWorkbook wb = new HSSFWorkbook(); //在 Excel文件对象中 添加一个 表格对象 HSSFSheet sheet = wb.CreateSheet(); //从数据库获得 所有的 班级数据 List 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); } } 5.拼音检索:为什么用拼音检索?(为客户提供拼音模糊搜索,数据库英文列的查询效率比中文的高)微软已经给我准备好了一个非常好用的国际语言包Visual Studio (International Pack),有时候为了提高运行速度,用冗余,Dictionary,索引,冗余列Cache 6.邮件发送:http://haijun123456789.mmic.net.cn/ //创建 邮件 对象 MailMessage msg = new MailMessage(); msg.Priority = MailPriority.High; msg.From = new MailAddress("james@oumind.com","纯洁的JamesZou"); msg.To.Add(new MailAddress("yezi@oumind.com","dear Zi")); msg.Subject = txtTitle.Text.Trim(); msg.Body = txtContent.Text.Trim(); //发送邮件 SmtpClient client = new SmtpClient("127.0.0.1");//;("127.0.0.1");//smtp.126.com //设置发送服务器登录 的用户名和密码 client.Credentials = new NetworkCredential("james", "1111111");//这里的用户名必须是From发件人的用户 //有的邮箱的用户名需要“yzk@rupeng.com”,有的只需要“yzk” client.Send(msg);//发送
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"
 MyQBlog   浏览(2776)   评论(0)   关键字
  
Copyright © 2010-2020 power by CYQ.Blog - 秋色园 v2.0 All Rights Reserved