【发布时间】:2011-04-12 12:21:58
【问题描述】:
我想知道当我编写一个像 application/vnd.ms-excel 这样的 mime 类型的文件时,幕后究竟发生了什么?
我的意思是我像这样导出到excel:
gridView.Page.Response.Clear();
gridView.Page.Response.Buffer = true;
gridView.Page.Response.AddHeader("content-disposition",
"attachment;filename=GridViewExport.xls");
gridView.Page.Response.Charset = "";
gridView.Page.Response.ContentType = "application/vnd.ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
gridView.AllowPaging = false;
gridView.AllowSorting = false;
gridView.DataBind();
gridView.RenderControl(hw);
//style to format numbers to string
string style = @"<style> .textmode { mso-number-format:\@; } </style>";
gridView.Page.Response.Write(style);
gridView.Page.Response.Output.Write(sw.ToString());
gridView.Page.Response.Flush();
gridView.Page.Response.End();
我知道 excel 文件有特定的格式。所以我想知道它是如何在幕后完成的? 我想到的是它只是生成 HTML 并将其粘贴到 EXCEL 中,而不是真正导出为 EXCEL 格式?
如果我错了,谁能纠正我?或者告诉我幕后究竟发生了什么?
【问题讨论】:
标签: c# asp.net excel mime-types