【问题标题】:exporting gridviews to excel into 3 worksheets将gridview导出到excel到3个工作表中
【发布时间】:2012-07-12 16:10:20
【问题描述】:

在我的网站上,我有一个按钮,它调用一个方法,然后生成 Excel 报告。代码有效。问题是代码在同一个选项卡上显示所有网格视图(有 3 个)。我可以添加什么代码,以便当我单击按钮时,它将下载文档,但每个 gridview 显示在其单独的选项卡上。选项卡名称将是顶部 1、顶部 2 和顶部 3。因此,为了澄清,现在所有的网格视图都显示在顶部 1 选项卡上,我需要再制作 2 个选项卡(顶部 2 和顶部 3)并放置 gridview2在顶部 2 选项卡上,以及在顶部 3 选项卡上的 gridview3。只有 1 个数据集。我可以使用什么代码来循环它,以便将每个表显示到不同的工作表中?

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
    DataSet dataSet = new DataSet();

    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ISALog1ConnectionString"].ToString());

    SqlCommand cmd = new SqlCommand("exec ProxyReport", conn);
    cmd.CommandTimeout = 200;

    SqlDataAdapter ad = new SqlDataAdapter(cmd);
    ad.Fill(dataSet);

    GridView1.DataSource = dataSet.Tables[0];
    GridView1.DataBind();
    GridView2.DataSource = dataSet.Tables[1];
    GridView2.DataBind();
    GridView3.DataSource = dataSet.Tables[2];
    GridView3.DataBind();

}
protected void Button1_Click(object sender, EventArgs e)
{
    string attachment = "attachment; filename=Top 1.xls";
    Response.ClearContent();
    Response.AddHeader("content-disposition", attachment);
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.ContentType = "application/ms-excel";
    StringWriter sw = new StringWriter();
    HtmlTextWriter htw = new HtmlTextWriter(sw);
    GridView1.RenderControl(htw);
    GridView2.RenderControl(htw);
    GridView3.RenderControl(htw);
    Response.Write(sw.ToString());
    Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{

}


}

【问题讨论】:

  • 我不知道确切的答案,但我想它会涉及将每个GridView.RenderControl 的输出包装在<WorkSheet> 标记中。除非我遗漏了什么,否则输出不应该是.xlsx 文件吗?
  • 是的,应该是 xlsx。但我想我需要改变很多代码......并添加某种循环代码。并替换 button1_click 方法的内容..我只是不知道如何..

标签: c# asp.net gridview export excel-interop


【解决方案1】:

看起来像 Export GridView to multiple Excel sheet 的副本。不过,您似乎会研究互操作性。

祝你好运。

【讨论】:

    猜你喜欢
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多