您的位置:首页 > Web前端 > HTML

导出excel,word,html

2011-09-08 11:39 316 查看
//Queue 队列在按接收顺序存储消息方面非常有用,以便于进行顺序处理。此类将队列作为循环数组实现。存储在 Queue 中的对象在一端插入,从另一端移除。

//Queue 的容量是指 Queue 可以保存的元素数。 随着向 Queue 中添加元素,容量通过重新分配按需自动增加。 可通过调用 TrimToSize 来减少容量。

//等比因子是当需要更大容量时当前容量要乘以的数字。在构造 Queue 时确定增长因子。 默认增长因子为 2.0。Queue 的容量将始终加 4,无论增长因子是多少。 例如,当需要更大的容量时,增长因子为 1.0 的 Queue 的容量将始终增加四倍。

//Queue 接受 null 作为有效值并且允许重复的元素。
Queue q = new Queue();
q.Enqueue("id=导出名称(姓名)");
q.Enqueue("uniqueid=谋职");
q.Enqueue("cartkey=户口");
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM yxs_cart",conn);
adapter.Fill(ds);
ExportExcel(q, ref ds, "测试导出.doc");

public void ExportExcel(Queue st, ref DataSet ds, string excelname)
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + excelname);
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/ms-doc";//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", false);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
string sMeta = "<meta http-equiv=\"content-type\" content=\"application/ms-doc; charset=UTF-8\"/>";
Response.Write(sMeta);
DataGrid dgExport = new DataGrid();
dgExport.AutoGenerateColumns = true;
BoundColumn bdc;
string s;
if (st != null)
{
dgExport.AutoGenerateColumns = false;
while (st.Count > 0)
{
bdc = new BoundColumn();
s = st.Dequeue().ToString();
bdc.DataField = s.Remove(s.IndexOf('='));
bdc.HeaderText = s.Replace(bdc.DataField + "=", string.Empty);
dgExport.Columns.Add(bdc);
bdc = null;
}
}
dgExport.DataSource = ds;
dgExport.DataBind();
dgExport.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
ds.Dispose();
dgExport.Dispose();
oStringWriter.Close();
oHtmlTextWriter.Close();
oStringWriter.Dispose();
oHtmlTextWriter.Dispose();
Response.End();
}

如果想导出xls.html等文件 ,只需把上述的word改为xls,html即可

导出大量数据的时候可能会有点慢->个人觉得
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: