首页 > 代码库 > 导出excel

导出excel

技术分享

主要就是把下面表格导出

需要一个aspx页 做request处理

设置一下response头 write一个table出去就ok了

    public void ExportExcel(ArrayList columns, ArrayList data)    {        Response.Clear();        Response.Buffer = true;        Response.Charset = "GB2312";        //Response.Charset = "UTF-8";        Response.AppendHeader("Content-Disposition", "attachment;filename=" + "grid" + ".xls");        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文        Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。        EnableViewState = false;        Response.Write(ExportTable(data, columns));        Response.End();    }    public static string ExportTable(ArrayList data, ArrayList columns)    {        StringBuilder sb = new StringBuilder();        //data = http://www.mamicode.com/ds.DataSetName +"\n";        int count = 0;        //data += tb.TableName + "\n";        sb.AppendLine("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">");        sb.AppendLine("<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">");        //写出列名        sb.AppendLine("<tr style=\"font-weight: bold; white-space: nowrap;\">");        foreach (Hashtable column in columns)        {            sb.AppendLine("<td>" + column["header"] + "</td>");        }        sb.AppendLine("</tr>");        //写出数据        foreach (Hashtable row in data)        {            sb.Append("<tr>");            foreach (Hashtable column in columns)            {                if (column["field"] == null) continue;                Object value = row[column["field"]];                sb.AppendLine("<td>" + value + "</td>");            }            sb.AppendLine("</tr>");            count++;        }        sb.AppendLine("</table>");        return sb.ToString();    }

 

导出excel