只要一点击导出cpu使用率就会很高而且根本到不出来
HttpResponse resp;
resp = Page.Response;
resp.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("Course", System.Text.Encoding.UTF8) + ".xls"); string ls_item = "<table border='1' style='border-collapse:collapse'>"; //定义表对象与行对象,同时用DataSet对其值进行初始化
System.Data.DataTable dt = ds.Tables[0];
DataRow[] myRow = dt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的
int i = 0;
int cl = dt.Columns.Count; //取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符
for (i = 0; i < cl; i++)
{
if (i == 0)
{
ls_item += "<tr><td align='center'><font style='font-size:14pt'>" + dt.Columns[i].Caption.ToString() + "</font></td>";
}
else if (i == (cl - 1))//最后一列,加n
{
ls_item += "<td align='center'><font style='font-size:14pt'>" + dt.Columns[i].Caption.ToString() + "</font></td></tr>";
}
else
{
ls_item += "<td align='center'><font style='font-size:14pt'>" + dt.Columns[i].Caption.ToString() + "</font></td>";
} }
//向HTTP输出流中写入取得的数据信息 //逐行处理数据
foreach (DataRow row in myRow)
{
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
for (i = 0; i < cl; i++)
{
if (i == 0)
{
ls_item += "<tr><td align='center' style='mso-style-parent:style0;mso-number-format:\\@;border:.5pt solid windowtext;'><font style='font-size:12pt'>" + row[i].ToString() + "</font></td>";
}
else if (i == (cl - 1))//最后一列,加</tr>
{
ls_item += "<td align='center' style='mso-style-parent:style0;mso-number-format:\\@;border:.5pt solid windowtext;'><font style='font-size:12pt'>" + row[i].ToString() + "</font></td></tr>";
}
else
{
ls_item += "<td align='center' style='mso-style-parent:style0;mso-number-format:\\@;border:.5pt solid windowtext;'><font style='font-size:12pt'>" + row[i].ToString() + "</font></td>";
} }
}
ls_item += "</table>"; resp.Write(ls_item); resp.End();
ds.Clear();
HttpResponse resp;
resp = Page.Response;
resp.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("Course", System.Text.Encoding.UTF8) + ".xls"); string ls_item = "<table border='1' style='border-collapse:collapse'>"; //定义表对象与行对象,同时用DataSet对其值进行初始化
System.Data.DataTable dt = ds.Tables[0];
DataRow[] myRow = dt.Select();//可以类似dt.Select("id>10")之形式达到数据筛选目的
int i = 0;
int cl = dt.Columns.Count; //取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符
for (i = 0; i < cl; i++)
{
if (i == 0)
{
ls_item += "<tr><td align='center'><font style='font-size:14pt'>" + dt.Columns[i].Caption.ToString() + "</font></td>";
}
else if (i == (cl - 1))//最后一列,加n
{
ls_item += "<td align='center'><font style='font-size:14pt'>" + dt.Columns[i].Caption.ToString() + "</font></td></tr>";
}
else
{
ls_item += "<td align='center'><font style='font-size:14pt'>" + dt.Columns[i].Caption.ToString() + "</font></td>";
} }
//向HTTP输出流中写入取得的数据信息 //逐行处理数据
foreach (DataRow row in myRow)
{
//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
for (i = 0; i < cl; i++)
{
if (i == 0)
{
ls_item += "<tr><td align='center' style='mso-style-parent:style0;mso-number-format:\\@;border:.5pt solid windowtext;'><font style='font-size:12pt'>" + row[i].ToString() + "</font></td>";
}
else if (i == (cl - 1))//最后一列,加</tr>
{
ls_item += "<td align='center' style='mso-style-parent:style0;mso-number-format:\\@;border:.5pt solid windowtext;'><font style='font-size:12pt'>" + row[i].ToString() + "</font></td></tr>";
}
else
{
ls_item += "<td align='center' style='mso-style-parent:style0;mso-number-format:\\@;border:.5pt solid windowtext;'><font style='font-size:12pt'>" + row[i].ToString() + "</font></td>";
} }
}
ls_item += "</table>"; resp.Write(ls_item); resp.End();
ds.Clear();
if (mytable.Rows.Count < 0)//mytable是一个DataTable,也可用DataSet
{
return;
}
System.Web.UI.WebControls.GridView dgExport = null;
// IO用于导出并返回excel文件
System.IO.StringWriter strWriter = null;
System.Web.UI.HtmlTextWriter htmlWriter = null; if (mytable != null)
{
// 设置编码和附件格式
Response.ContentType = "application nd.ms-excel";
Response.AppendHeader("Content-Disposition", "attachment;filename=Borrow.xls");
Response.Charset = "";
Response.ContentEncoding = System.Text.Encoding.UTF8; // 导出excel文件
strWriter = new System.IO.StringWriter();
htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter); // 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid
dgExport = new System.Web.UI.WebControls.DataGrid();
dgExport.DataSource = mytable.DefaultView;
dgExport.AllowPaging = false;
dgExport.DataBind(); // 返回客户端
dgExport.RenderControl(htmlWriter);
Response.Write(strWriter.ToString());
Response.End();
}
参考
http://blog.xunbin.com/Article/22.aspx
2.或GetXML(),再Xlts转换3.使用BCPhttp//blog.xunbin.com/Article/68.aspx