流导出excel有时候汉字会出现兼容性问题

        public void ExtendFile( string setfname, string content)//文件名(‘-’符号好像会出现问题),内容
        {
            HttpResponse response = HttpContext.Current.Response;
            response.ContentType = "application/vnd.ms-excel";
            if (HttpContext.Current.Request.UserAgent.ToLower().IndexOf("firefox") > -1)
            {
                response.AddHeader("content-disposition", "inline;filename="
                  + setfname);
            }
            else
            {
                response.AddHeader("content-disposition", "inline;filename="
                  + HttpUtility.UrlEncode(setfname, Encoding.UTF8));
            }
            response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
            response.Write(content);
            response.End();
        }  

下面是调用:

public void OutPutExcel(DataSet ds)
        {
            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                StringWriter sw = new StringWriter();
                string dname = "aaa";

                sw.WriteLine("\t" + dname);
                sw.WriteLine("卡号\t密码");
                foreach (DataRow item in ds.Tables[0].Rows)
                {
                    sw.WriteLine("=\"" + item["CardNum"] + "\"\t=\"" + item["PassTest"] + "\"");//字段全是数字有时候excel会自动转换成数字格式,所以加上"=\""+value+"\""
                }
                sw.Close();
                ExtendFile( dname + ".xls", sw.ToString());
            }
            else
            {
                Response.Write("<script>alert('导出数据为空')</script>");
                Response.End();
            }
        }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值