项目--简单导出CSV文件

本文介绍了一个用于从数据库中导出特定格式CSV文件的方法。该方法区分不同角色(如4S店与管理员),并根据角色的不同隐藏敏感字段。通过使用C#编程语言实现了数据的获取与格式化。
    //导出
    protected void BtnOutPut_Click(object sender, EventArgs e)
    {
        //角色
        InitialRoles();
        DataTable dt = DBClass.GetDataTable(string.Format(@"SELECT * FROM {0} Order By SN desc", View(Where)));
        StringWriter sw = new StringWriter();
        //4S店不能看到总部价格等相关字段
        if (UMRoleNames.Contains("4S"))
        {
            sw = Get4SStr(dt);
        }
        else
        {
            sw = GetAdminStr(dt);
        }

        sw.Close();
        Response.AddHeader("Content-Disposition", "attachment; filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv");
        Response.ContentType = "application/ms-excel";
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
        Response.Write(sw);
        Response.End();
    }
 //4S店拼接
    protected StringWriter Get4SStr(DataTable dt)
    {
        StringWriter sw = new StringWriter();				
        sw.WriteLine(@"采购订单号,区域,4S店名,品牌,零件编码,零件名称,车型代码,数量,4S成本价,总部采购单价,总部采购合计,4S店节约金额,供应商,要求到货日期,实际到货日期,4S采购折扣");
        foreach (DataRow dr in dt.Rows)
        {
            sw.WriteLine(dr["SN"].ToString()
                + "," + dr["FirstArea"].ToString()
                + "," + dr["ShopName"].ToString()
                + "," + dr["ShopBrand"].ToString()
                + "," + "'" + dr["PNO"].ToString()
                + "," + dr["PName"].ToString()
                + "," + dr["PCarNumber"].ToString()
                + "," + dr["BuyNumber"].ToString()
                + "," + dr["PSRP"].ToString()
                + "," + dr["AdminPrice"].ToString()
                + "," + dr["SUM4SPrice"].ToString()
                + "," + dr["ThriftProfit4S"].ToString()
                + "," + dr["OOffer"].ToString()
                + "," + dr["OJiaoHuoDate"].ToString()
                + "," + dr["RealReachDate"].ToString()
                + "," + dr["Discount4S"].ToString()
                );
        }
        return sw;
    }

  

转载于:https://www.cnblogs.com/buzi521/p/3830159.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值