ExtAspNet从DataTable里导出Excel

 protected void btn_ToExcel_Click(object sender, EventArgs e)
    {
        Response.ClearContent();
        Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
        Response.ContentType = "application/excel";
        Response.Write(GetDataTableHtml((DataTable)ViewState["tt"]));
        Response.End();
    }

private string GetDataTableHtml(DataTable dt)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
        sb.Append("<tr>");
        foreach (DataColumn column in dt.Columns)
        {
            sb.AppendFormat("<td>{0}</td>", column.Caption);
        }
        sb.Append("</tr>");

        foreach (DataRow row in dt.Rows)
        {
            sb.Append("<tr>");
            for (int i = 0; i < dt.Columns.Count;i++ )
            {
                string html = row[i].ToString();
                sb.AppendFormat("<td>{0}</td>", html);
            }
            sb.Append("</tr>");
        }
        sb.Append("</table>");
        return sb.ToString();
    }
时间: 2024-12-28 00:40:38

ExtAspNet从DataTable里导出Excel的相关文章

带复杂表头合并单元格的HtmlTable转换成DataTable并导出Excel(转)

步骤: 一.前台JS取HtmlTable数据,根据设定的分隔符把数据拼接起来 <!--导出Excel--> <script type="text/javascript"> //导出Excel function exportExcel() { var data = ""; $("#divRptTable").find("table").find("tr").each(function

DATATABLE 快速导出EXCEL方法

void Main(){    DataTable dataTable =new DataTable();        for(int i=0;i<10;i++)    {        dataTable.Columns.Add("col"+i);    }    for(int i=0;i<1000000;i++)    {        var dr=dataTable.NewRow();        foreach(DataColumn col in dataT

DataTable数据导出Excel 并且下载

public string Excel(System.Data.DataTable dt) { //模板的路径 string strUploadPath = HttpContext.Current.Server.MapPath("../template/"); //模板的名称 string strFileName = strUploadPath + "JobTicketTemplate.xlsx"; FileInfo TemplateFile = new FileI

【转】C# DataTable 导出 Excel 进阶 多行表头、合并单元格、中文文件名乱码

本文原创地址:http://blog.csdn.net/ranbolwb/article/details/8083983 ,转载请保留本行. 本例子是上一篇 DataTable 导出 Excel 的进阶,除了上一篇提到的处理乱码问题,本例还添加了处理多行表头.合并单元格的功能及处理中文文件名乱码问题,应该可以满足日常开发的需要了. 废话不多说了,直接上代码: [C#] 可以写单独类 1 using System; 2 using System.Collections.Generic; 3 usi

C#导出EXCEL(DataTable导出EXCEL)

using System; using System.Collections.Generic; using System.Text; using System.Data; using System.IO; using System.Web; using Microsoft.Office.Interop.Excel; using System.Reflection; /*  * 开发人员:Hisen  * 时间:2008年11月24日  * 功能:将数据导出Excel  *  */ namespa

ASP.NET导出excel表方法汇总

asp.net里导出excel表方法汇总  1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName) { HttpResponse resp; resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); resp.AppendHeader("Content-Di

Office Com组件根据模板导出Excel

导出Excel最普遍的方式有两种,一种是使用Office Com组件,另一种是使用NPOI. 个人感觉Office Com组件功能更强大,操作Excel和设置样式等都非常方便,但它要求服务器上必须安装Office,而且受Office版本的影响.NPOI允许服务器上不安装Office,但是设置Office样式等,比Office Com组件要麻烦的多.具体使用那种要根据实际的项目来决定.本文简单列举Office Com组件一个应用小实例,NPOI的方式将在下一篇讲到. 1.添加对Microsoft.

asp.net 导出excel 中文乱码解决方法 (转)

用我转载的上一篇文章 Asp.net中把DataTable或DataGrid导出为Excel 导出的文档,中文有乱码现象,其实要解决中文乱码很简单,设置一下字符集.如下: // 设置编码和附件格式 curContext.Response.ContentType = "application/vnd.ms-excel"; curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312&

DataTable 导出 excel , 可以自定义列名,没有繁琐的引用

/// <summary> /// 由DataTable导出Excel /// </summary> /// <param name="p"></param> /// <param name="dt"></param> /// <param name="fileName"></param> /// <param name="b"