通讯录从Database导出vCard格式


 1  #region  ToVCF
 2       protected   void  btn_outvcf_Click( object  sender, EventArgs e)
 3      {
 4           string  code  =  Request[ " hid_code " ].ToString().Trim( ' , ' );
 5          StringBuilder sb  =   new  StringBuilder();
 6           if  ( ! string .IsNullOrEmpty(code))
 7          {
 8               string  sql  =   string .Format( @" select u_name,u_birthday,u_mobile,U_ZAnimal,u_tel,U_Constellation,u_blood,u_sex,u_email,
 9                                          u_linkadd,u_remark,u_company,u_job,u_companyemail,u_companymobile,u_companytel,
10                                          u_companyfax,u_companyadd,u_postalcode from Mobile_CardInfo where m_id in({0}) " , code);
11              DataView dv  =  zhan.Data.Sql.PubClass.ExecuteDataView( "" , sql);
12               if  (dv  !=   null )
13              {
14                  
15                   foreach  (DataRow dr  in  dv.Table.Rows)
16                  {
17                      sb.Append(ExportVCF(dr));
18                  }                
19              }
20              Response.ContentEncoding  =  Encoding.Default; //  GetEncoding("gb2312");
21              Response.ContentType  =   " text/x-vCard " ;
22               string  rename  =  HttpUtility.UrlEncode( " 通讯录 " , Encoding.GetEncoding( " utf-8 " ));
23              Response.ClearHeaders();
24              Response.AppendHeader( " Content-disposition " string .Format( " attachment;filename={0}.vcf " , rename));
25              Response.Write(sb.ToString());
26              Response.End();
27          }
28      }
29       public   string  ExportVCF(DataRow dr)
30      {        
31          StringWriter stringWrite  =   new  StringWriter();
32          stringWrite.WriteLine( " BEGIN:VCARD " );
33          stringWrite.WriteLine( " VERSION:2.1 " );
34          stringWrite.WriteLine( string .Format( " NAME:{0} " , dr[ " u_name " ])); // 姓名
35          stringWrite.WriteLine( string .Format( " N:;{0};; " , dr[ " u_name " ])); // 姓名
36          stringWrite.WriteLine( string .Format( " FN:{0} " , dr[ " u_name " ])); // 姓名
37          stringWrite.WriteLine( string .Format( " ADR;DOM;PARCEL;HOME:;;{0};;;; " , dr[ " u_linkadd " ])); // 家庭住址
38          stringWrite.WriteLine( string .Format( " ADR;INTL;PARCEL;WORK:;;{0};;;{1}; " , dr[ " u_companyadd " ], dr[ " u_postalcode " ])); // 公司地址 公司邮编
39          stringWrite.WriteLine( string .Format( " BDAY:{0} " , Convert.ToDateTime(dr[ " u_birthday " ].ToString()).ToString( " yyyy-MM-dd " ))); // 生日
40          stringWrite.WriteLine( string .Format( " EMAIL;INTERNET:{0} " , dr[ " u_companyemail " ])); // 商务邮箱
41          stringWrite.WriteLine( string .Format( " EMAIL;PRODIGY:{0} " , dr[ " u_email " ])); // 电子邮件
42          stringWrite.WriteLine( string .Format( " ORG:{0} " , dr[ " u_company " ])); // 公司名称
43          stringWrite.WriteLine( string .Format( " TEL;HOME;VOICE:{0} " , dr[ " u_tel " ])); // 常用固话
44          stringWrite.WriteLine( string .Format( " TEL;WORK;CELL:{0} " , dr[ " u_companymobile " ])); // 商务手机
45          stringWrite.WriteLine( string .Format( " TEL;WORK;VOICE:{0} " , dr[ " u_companytel " ])); // 公司固话
46          stringWrite.WriteLine( string .Format( " TEL;WORK;FAX:{0} " , dr[ " u_companyfax " ])); // 公司传真
47          stringWrite.WriteLine( string .Format( " TEL;PREF:{0} " , dr[ " u_mobile " ])); // 手机号码
48          stringWrite.WriteLine( string .Format( " TITLE:{0} " , dr[ " u_job " ])); // 职位
49          stringWrite.WriteLine( string .Format( " 性别:{0} " , dr[ " u_sex " ])); // 性别
50          stringWrite.WriteLine( string .Format( " 血型:{0} " , dr[ " u_blood " ])); // 血型
51          stringWrite.WriteLine( string .Format( " 生肖:{0} " , dr[ " U_ZAnimal " ])); // 生肖
52          stringWrite.WriteLine( string .Format( " 星座:{0} " , dr[ " U_Constellation " ])); // 星座
53          stringWrite.WriteLine( string .Format( " NOTE:{0} " , dr[ " u_remark " ])); // 备注
54          stringWrite.WriteLine( " END:VCARD " );
55          stringWrite.WriteLine( "" );
56           return  stringWrite.ToString();
57      }    
58       #endregion
复制代码



本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2010/12/23/1914783.html,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值