主要就是把下面表格导出
需要一个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 = ds.DataSetName + " "; int count = 0; //data += tb.TableName + " "; 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(); }