将datatable导出为Excel或CSV文件

Datatable导出CSV文件:

DataTable dtList = new DataTable();

            T_Product t_pro = new T_Product();

 

        

    t_pro.DataConn = EC.Common.Base.ModelBase.DataBaseType.EC_Mall;

            dtList = B_Product.QueryDataToTable(t_pro, sqlWhere);

 

 

            if (dtList != null && dtList.Rows.Count > 0 && dtList.Rows.Count <= 3000)//不能大于3000条记录

            {

                StringBuilder _sb = new StringBuilder();

                int i = 0;

 

                #region -- 表头 --

                _sb.Append("商品名称,货号,商品编号,商品分类,品牌,重量,单位,备注,商品图片,免运费数量,免运费,配件,市场价,本店价格,"

                    + "描述,库存,发布时间,有效期,发货地,是否批发,发票,热销,保修,积分/n");

                #endregion

 

                //拼接字符串

                foreach (DataRow dr in dtList.Rows)

                {

                    _sb.Append(dr["C_ProductName"].ToString() + ","

                        + dr["C_ProductNO"].ToString() + ","

                        + dr["C_ProBianhao"].ToString() + ","

                        + dr["C_ClassID"].ToString() + ","

                        + dr["C_BrandID"].ToString() + ","

                        + dr["C_weight"].ToString() + ","

                        + dr["C_Unit"].ToString() + ","

                        + dr["C_UserRemark"].ToString() + ","

                        + dr["C_ImagePath"].ToString() + ","

                        + dr["C_FreeNum"].ToString() + ","

                        + dr["C_NoShippingPrice"].ToString() + ","

                        + dr["C_IsAloneSale"].ToString() + ","

                        + dr["C_PriceMarket"].ToString() + ","

                        + dr["C_ShopPrice"].ToString() + ","

                        + dr["C_Description"].ToString() + ","

                        + dr["C_Stocks"].ToString() + ","

                        + dr["C_StartDate"].ToString() + ","

                        + dr["C_EndDate"].ToString() + ","

                        + dr["C_AreaCode"].ToString() + ","

                        + dr["C_IsBatch"].ToString() + ","

                        + dr["C_Invoice"].ToString() + ","

                        + dr["C_IsHot"].ToString() + ","

                        + dr["C_Warranty"].ToString() + ","

                        + dr["C_JiFen"].ToString());

 

                    if (i < dtList.Rows.Count - 1)

                    {

                        _sb.Append("/n");

                    }

 

                    i++;

                }

                //输出Excel -- xls文件的制表符是"/t"而csv文件的制表符是"," --

                Response.AddHeader("Content-Disposition", "attachment; filename=" + "3050_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv");

                Response.ContentType = "application/ms-excel";

                Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

                Response.Write(_sb.ToString());

                Response.End();

DataTable导出为Excel文件:

DataTable dtList = new DataTable();
            T_Product t_pro = new T_Product();
            t_pro.DataConn = EC.Common.Base.ModelBase.DataBaseType.EC_Mall;
            dtList = B_Product.QueryDataToTable(t_pro, sqlWhere);


            if (dtList != null && dtList.Rows.Count > 0)           
{
                StringBuilder _sb = new StringBuilder();
                int i = 0;

                #region -- 表头 --
                _sb.Append("商品名称/t货号/t商品编号/t商品分类/t品牌/t重量/t单位/t备注/t商品图片/t免运费数量/t免运费/t配件/t市场价/t本店价格/t "
                    + "描述/t库存/t发布时间/t有效期/t发货地/t是否批发/t发票/t热销/t保修/t积分/n");
                #endregion

                //拼接字符串
                foreach (DataRow dr in dtList.Rows)
                {
                    _sb.Append(dr["C_ProductName"].ToString() + "/t"
                        + dr["C_ProductNO"].ToString() + "/t"
                        + dr["C_ProBianhao"].ToString() + "/t"
                        + dr["C_ClassID"].ToString() + "/t"
                        + dr["C_BrandID"].ToString() + "/t"
                        + dr["C_weight"].ToString() + "/t"
                        + dr["C_Unit"].ToString() + "/t"
                        + dr["C_UserRemark"].ToString() + "/t"
                        + dr["C_ImagePath"].ToString() + "/t"
                        + dr["C_FreeNum"].ToString() + "/t"
                        + dr["C_NoShippingPrice"].ToString() + "/t"
                        + dr["C_IsAloneSale"].ToString() + "/t"
                        + dr["C_PriceMarket"].ToString() + "/t"
                        + dr["C_ShopPrice"].ToString() + "/t"
                        + dr["C_Description"].ToString() + "/t"
                        + dr["C_Stocks"].ToString() + "/t"
                        + dr["C_StartDate"].ToString() + "/t"
                        + dr["C_EndDate"].ToString() + "/t"
                        + dr["C_AreaCode"].ToString() + "/t"
                        + dr["C_IsBatch"].ToString() + "/t"
                        + dr["C_Invoice"].ToString() + "/t"
                        + dr["C_IsHot"].ToString() + "/t"
                        + dr["C_Warranty"].ToString() + "/t"
                        + dr["C_JiFen"].ToString());

                    if (i < dtList.Rows.Count - 1)
                    {
                        _sb.Append("/n");
                    }

                    i++;
                }
                //输出Excel -- xls文件的制表符是"/t"而csv文件的制表符是"," --
                Response.AddHeader("Content-Disposition", "attachment; filename=" + "3050_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
                Response.ContentType = "application/ms-excel";
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
                Response.Write(_sb.ToString());
                Response.End();

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值