datagrid导出excel

这篇博客介绍了如何从Datagrid导出数据到Excel的两种方法。第一种方法是通过将Datagrid转换为DataTable,然后生成HTML并输出。第二种方法是直接遍历Datagrid中的TextBox控件,获取数据并构建CSV格式的Excel文件。两种方法都涉及到Response的设置,以实现文件下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

datagrid导出excel的两种方法

 private void ResponseExcel(){
  //1、将当前datagrid读入DataTable
  //2、写html
  //3、将变量输出  excel导出
   //StringBuilder hw = new StringBuilder() ;
   Response.ContentType="application/vnd.ms-excel";
   Response.Charset="GB2312";
   this.EnableViewState=false;
   StringWriter sw = new StringWriter();
   System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw);
   this.DingDanGrid.Columns[0].Visible =false;
   this.DingDanGrid.RenderControl(hw);


   //sw.WriteLine(hw);
   Response.Write(sw.ToString());
   Response.End();
  }

 

 

private void ResponseExcel2(){
   //StringBuilder hw = new StringBuilder();
   StringWriter sw = new StringWriter();
   sw.WriteLine("流水号,制单人,制单时间,业务联系人,要求交货期,评审交期,实际入库,是否准时,品名,型号,数量,备注,K3单号,已出货量,时间,未出货量,出货时间"); 
   //sw.WriteLine("流水号,制单人");
   for(int i=0;i<DingDanGrid.Items.Count;i++)
   {
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("liushuihao")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("zhidanren")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("zhidanshijian")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("yewulianxiren")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("yaoqiujiaohuoqi")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("pshenjiaoqi")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("shijiruku")).Text);
//    hw.Append(",");
//    hw.Append("准时");
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("pinming")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("xinghao")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("shuliang")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("remarks")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("k3danhao")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("yichuhuoliang")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("shijian")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("weichuhuoliang")).Text);
//    hw.Append(",");
//    hw.Append(((TextBox)DingDanGrid.Items[i].FindControl("chuhuoshijian")).Text);


    sw.WriteLine(((TextBox)DingDanGrid.Items[i].FindControl("liushuihao")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("zhidanren")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("zhidanshijian")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("yewulianxiren")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("yaoqiujiaohuoqi")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("pshenjiaoqi")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("shijiruku")).Text+","+"准时"+","+((TextBox)DingDanGrid.Items[i].FindControl("pinming")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("xinghao")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("shuliang")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("remarks")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("k3danhao")).Text+","+ ((TextBox)DingDanGrid.Items[i].FindControl("yichuhuoliang")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("shijian")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("weichuhuoliang")).Text+","+((TextBox)DingDanGrid.Items[i].FindControl("chuhuoshijian")).Text);
   }
   //sw.WriteLine(hw);
   sw.Close();

   Response.AddHeader("Content-Disposition",   "attachment;   filename=dingdanpinshen.csv");  
   Response.ContentType   =   "application/ms-excel";  
   Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");  
   Response.Write(sw);  
   Response.End();
  }

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值