【问题标题】:Exporting from repeater to excel从中继器导出到 excel
【发布时间】:2012-05-16 22:31:22
【问题描述】:

我已经能够填充中继器,但我遇到的唯一问题是将其导出到 Excel 工作表。 excel 文件中没有显示数据。 我在想的是,由于单击导出按钮时的一些回发,中继器上的数据被删除或其他原因。 这是代码:

        Response.Clear();
        Response.Buffer = true;

        Response.AddHeader("content-disposition",
         "attachment;filename=GridViewExport.xls");
        Response.Charset = "";
        Response.ContentType = "application/vnd.ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(sw);
        Table tb = new Table();
        TableRow tr1 = new TableRow();
        TableCell cell1 = new TableCell();
        cell1.Controls.Add(Repeater1);
        tr1.Cells.Add(cell1);
        tb.Rows.Add(tr1);
        tb.RenderControl(hw);

        //style to format numbers to string
        string style = @"<style> .textmode { mso-number-format:\@; } </style>";
        Response.Write(style);
        Response.Output.Write(sw.ToString());
        Response.Flush();
        Response.End();

【问题讨论】:

标签: asp.net repeater


【解决方案1】:

对于以 Excel 格式导出数据,我建议使用 EPPlus 库而不是编写字符串。

EPPlus 是一个读取和写入 Excel 2007/2010 文件的 .net 库 使用 Open Office Xml 格式 (xlsx)。

EPPlus 支持:单元格范围、单元格样式(边框、颜色、填充、字体、 数字,对齐方式),图表,图片,形状,评论,表格, 保护、加密、数据透视表、数据验证

【讨论】:

    【解决方案2】:

    我认为“Repeater1”和表“tb”必须附加到 Page (Page.Controls.Add(tb))。 尝试:

    • 将控件渲染到字符串 var render=RenderControlToString(tb);
    • 然后清除响应Response.Clear();
    • 然后写渲染字符串Response.Write(rendered);

      public static string RenderControlToString(Control c)
      {
          StringBuilder sb = new StringBuilder();
          StringWriter sw = new StringWriter(sb);
          HtmlTextWriter htmlWriter = new HtmlTextWriter(sw);
          c.RenderControl(htmlWriter);
          sw.Close();
          htmlWriter.Close();
          return sb.ToString();
      
      }
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多