asp.net datatable 导出为 txt

如下是导出到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();
		}

 


 

posted @ 2013-09-02 14:44  ShuLin  阅读(870)  评论(1编辑  收藏  举报