【问题标题】:asp.net export to excelasp.net 导出到 excel
【发布时间】:2014-09-03 12:02:04
【问题描述】:

您好,我有 2 页导出到 excel,我使用的是这样的:

      Response.ClearContent()
            Response.Buffer = True
            Response.AddHeader("content-disposition", String.Format("attachment; filename={0}", "poView.xls"))
            Response.ContentEncoding = Encoding.UTF8
            Response.ContentType = "application/ms-excel"
            Dim tw As New IO.StringWriter()
            Dim htw As New HtmlTextWriter(tw)
            budgetPlanGrid.RenderControl(htw)
            Response.Write(tw.ToString())
            Response.[End]()

现在我确实设法导出到 excel 并查看所需的网格,但是在更复杂的页面上,出于某种原因,在 gridview 旁边包含更多内容的页面上,我看到了我的母版页中的部分!它对我大喊我错过了我的 style.css 的路径,这与我试图导出的 gridview 无关! 我使用了 2 个面板来制作所有内容,直到 / 从 gridview 可见 = false, 我有点不知道还有什么可能导致这种情况。

我希望也许有人在使用此代码时遇到此类问题,并且可以建议我寻找什么? 提前致谢!

【问题讨论】:

标签: asp.net excel gridview


【解决方案1】:

我在使用 RenderControl 时遇到了这个问题 - 一直要求缺少样式表和其他废话。

我使用了绑定gridview的数据表并这样做了:

HttpContext.Current.Response.Clear();
HttpContacts.Current.Response.AddHeader("content-disposition", attachment):
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";

string sTab = "";

foreach (DataColumn dc in dt.Columns)
{
HttpContext.Current.Response.Write(sTab + dc.ColumnName);
sTab = "\t";
}
HttpContext.Current.Response.Write("\n");

int i;
foreach (DataRow dr in dt.Rows)
{
sTab = "";
for (i = 0; i < dt.Columns.Count; i++)
{
HttpContext.Current.Response.Write(sTab + dr[i].ToString());
sTab = "\t";
}
HttpContext.Current.Response.Write("\n");
}

HttpContext.Current.Response.End();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    相关资源
    最近更新 更多