asp.net datatable 导出为 txt

本文详细介绍了如何使用C#将数据导出到TXT文件和EXCEL表格的方法,包括标题和内容的写入步骤及响应设置。

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

如下是导出到TXT的方法
public static void ToTxt(DataTable dv, string FileName) { System.IO.StringWriter sw = new System.IO.StringWriter(); StringBuilder sb = new StringBuilder(); //写标题 for (int i = 0; i < dv.Columns.Count; i++) { if (i > 0) { sb.Append("\t "); } sb.Append(dv.Columns[i].ColumnName); } sw.WriteLine(sb.ToString()); //写内容 for (int rowNo = 0; rowNo < dv.Rows.Count; rowNo++) { StringBuilder sbTemp = new StringBuilder(); for (int columnNo = 0; columnNo < dv.Columns.Count; columnNo++) { if (columnNo > 0) { sbTemp.Append("\t "); } sbTemp.Append(dv.Rows[rowNo][columnNo].ToString()); } sw.WriteLine(sbTemp.ToString()); } System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.Clear(); response.Buffer = true; response.ContentEncoding = System.Text.Encoding.Default; response.ContentType = "text/plan"; response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ".txt"); response.Charset = "gb2312"; response.Write(sw.ToString()); response.End(); sw.Close(); } 如下是导出到EXCEL的方法
/// <summary>
		/// Renders the html text before the datagrid.
		/// </summary>
		/// <param name="writer">A HtmlTextWriter to write html to output stream</param>
		private static void FrontDecorator(HtmlTextWriter writer)
		{
			writer.WriteFullBeginTag("HTML");
			writer.WriteFullBeginTag("Head");

			writer.WriteEndTag("Head");
			writer.WriteFullBeginTag("Body");
		}

		/// <summary>
		/// Renders the html text after the datagrid.
		/// </summary>
		/// <param name="writer">A HtmlTextWriter to write html to output stream</param>
		private static void RearDecorator(HtmlTextWriter writer)
		{
			writer.WriteEndTag("Body");
			writer.WriteEndTag("HTML");
		}

		public static void ToExcel(System.Web.UI.WebControls.DataGrid DataGrid2Excel,string FileName,string Title, string Head)
		{
			System.IO.StringWriter sw = new System.IO.StringWriter();
			System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);

			FrontDecorator(hw);
			if ( Title != "")
				hw.Write(Title + "<br>");
			if ( Head != "")
				hw.Write(Head + "<br>");
			
			DataGrid2Excel.EnableViewState = false;
			DataGrid2Excel.RenderControl(hw);

			RearDecorator(hw);
   
			System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
			response.Clear();
			response.Buffer = true;
            response.ContentEncoding = System.Text.Encoding.Default;
			response.ContentType ="application/Excel";
			response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ".xls");
			response.Charset = "gb2312";
			response.Write(sw.ToString());
			response.End();
		}

 


 

转载于:https://www.cnblogs.com/chenshulin01/p/3296486.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值