常用的汇出excel的方法是通过拼接字符串的方法来完成的。不过字符串容易过大或者溢出。如下
//数据表 datatable
Response.Buffer= false;
Response.Charset="BIG5";
Response.ContentType="Content-Language;content=zh-tw";
Response.AppendHeader("Content-Disposition","attachment;filename=myexcel.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("BIG5");
Response.ContentType = "application/ms-excel";
string content="";
for(int i=0;i<datatable.Rows.Count;i++)
{
for(int j=0;j<datatable.Columns.Count;j++)
{
content+=datatable.Rows[i][j].ToString()+"\t";
}
content+="\n";
}
Response.Write(content);
Response.Clear();
Response.End();
//由于字符串连续的拼接,会造成变量过大,即使不死机,数据也会非常的慢。
//所以修改为只遍历一行就输出一次。
Response.Buffer= false;
Response.Charset="BIG5";
Response.ContentType="Content-Language;content=zh-tw";
Response.AppendHeader("Content-Disposition","attachment;filename=myexcel.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("BIG5");
Response.ContentType = "application/ms-excel";
string content="";
for(int i=0;i<datatable.Rows.Count;i++)
{
for(int j=0;j<datatable.Columns.Count;j++)
{
content+=datatable.Rows[i][j].ToString()+"\t";
}
content+="\n";
Response.Write(content);
content="";
}
Response.Clear();
Response.End();
浙公网安备 33010602011771号