刚刚学会的!把Datatable类型的数据导出.xls表格!
2012-01-10 17:14
423 查看
刚刚学会的!把Datatable类型的数据导出.xls表格!感觉效果还不错!虽然菜了点 但值得收藏!
<%@ Page Title="主页" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %> <%@ Register assembly="obout_Interface" namespace="Obout.Interface" tagprefix="cc1" %> <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> </asp:Content> <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> <h2> 欢迎使用 ASP.NET! </h2> <p> 若要了解关于 ASP.NET 的详细信息,请访问 <a href="http://www.tutupao.com/user" title="ASP.NET 网站">www.tutupao.com</a>。 </p> <p>ID:<cc1:OboutTextBox ID="text1" runat="server" ></cc1:OboutTextBox> Number:<cc1:OboutTextBox ID="text2" runat="server"></cc1:OboutTextBox> <br /> <cc1:OboutButton ID="OboutButton1" Text="添加到表中>>" runat="server" onclick="OboutButton1_Click" style="top: 0px; left: 0px"> </cc1:OboutButton> <hr /> <cc1:OboutButton ID="OboutButton2" Text="清空datatable" runat="server" onclick="OboutButton2_Click"> </cc1:OboutButton> </p> <p> <asp:GridView ID="GridViewone" runat="server"> </asp:GridView> </p> <p> <asp:TextBox ID="name_exl" runat="server" BackColor="White" BorderColor="#888888" BorderStyle="Ridge" Text="起个名吧" BorderWidth="3px"></asp:TextBox> <asp:Button ID="Button1" runat="server" BackColor="Transparent" BorderStyle="Solid" BorderWidth="3px" BorderColor="#888888" Text="导出Excel" onclick="Button1_Click" /> </p> <p> 您还可以找到 ttp://go.microsoft.com/fwlink/?LinkID=152368" title="MSDN ASP.NET 文档">MSDN 上有关 ASP.NET 的文档</a>。 </p> </asp:Content>
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Wuqi.Webdiyer; using System.Data; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } /// <summary> /// 导出excel /// </summary> /// <param name="ds">DataTable类型的数据集</param> /// <param name="FileName">保存文件的默认文件名</param> public void CreateExcel(DataTable ds, string FileName) { HttpResponse resp; resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName+".xls"); string colHeaders = "", ls_item = ""; int i = 0; if (ds.Rows.Count > 0) { DataTable dt = ds; //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符 colHeaders = ""; for (i = 0; i < dt.Columns.Count; i++) { colHeaders += dt.Columns[i].Caption.ToString() + "\t"; } colHeaders += "\n"; //向HTTP输出流中写入取得的数据信息 resp.Write(colHeaders); //逐行处理数据 foreach (DataRow row in dt.Rows) { ls_item += ""; //在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n for (i = 0; i < row.ItemArray.Length; i++) { ls_item += row[i].ToString() + "\t"; } ls_item += "\n"; } resp.Write(ls_item); } //写缓冲区中的数据到HTTP头文件中 resp.End(); } private void binGred(DataTable dt) { GridViewone.DataSource = dt; GridViewone.DataBind(); } protected void OboutButton1_Click(object sender, EventArgs e) { string t_id = text1.Text; string t_num = text2.Text; if (Application["data"] != null) { DataTable dt = Application["data"] as DataTable; DataRow drt = dt.NewRow(); drt["S_id"] = t_id.ToString(); drt["S_num"] = t_num.ToString(); dt.Rows.Add(drt); Application["data"] = dt; binGred(dt); } else { DataTable dt = new DataTable(); DataColumn dc1 = new DataColumn("S_id", typeof(string)); dt.Columns.Add(dc1); DataColumn dc2 = new DataColumn("S_num", typeof(string)); dt.Columns.Add(dc2); DataRow drow = dt.NewRow(); drow["S_id"] = t_id.ToString(); drow["S_num"] = t_num.ToString(); dt.Rows.Add(drow); Application["data"] = dt; binGred(dt); } } protected void OboutButton2_Click(object sender, EventArgs e) { Application["data"] = null; binGred(null); } protected void Button1_Click(object sender, EventArgs e) { if (Application["data"] != null) { DataTable db = Application["data"] as DataTable; CreateExcel(db,name_exl.Text); } } }
相关文章推荐
- asp.net 生成导出word表单 ,导出excel; dataTable生成xls文件,返回前台下载;asp.net启动excel错误 80070005;excel-xls columnName 不能改变; 读写excel的开源利器NPOI; 设置excel Cell的数据类型;
- Datatable或Gridview中的数据导出为excel表格数据(Asp.net C#)
- winfrom 使用NPOI导入导出Excel(xls/xlsx)数据到DataTable中
- C#_把dataTable数据导出到XLS文件 ,练手
- C#_把dataTable数据导出到CSV,XLS文件
- C#_把dataTable数据导出到CSV,XLS文件
- DataTable 更改在有数据列的类型方法+DataTable 导出excel功能
- 使用NPOI导入导出Excel(xls/xlsx)数据到DataTable中
- 将DataTable数据导出到Excel文件中(xls)
- mysql:day6--将数据导出到xls表格
- 页面web 导出excle表格 模版另存为类型方法 数据导出
- 修改已有数据的DataTable的字段类型
- C#中导出数据到WPS表格或者Excel2003
- Extjs里表格grid显示日期类型数据
- C#中将DataGridView中查询出来的数据使用DataTable导出为Excel表格(通过NPOI)
- SQLSERVER和ORACLE数据类型对应关系详解和对应表格
- 如何将数据库中数据导出Execl表格
- 清单元数据表中的导出类型定义
- sqlbulkcopy 使用DataTable作为数据源的数据类型问题--来自数据源的String类型的给定值不能转换为指定目标列的类型 uniqueidentifier
- JavaScript将页面表格数据导出为Excel、CSV格式文件(结合JQuery EasyUI的grid )