首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Response.Write缺少元素

Response.Write缺少元素
EN

Stack Overflow用户
提问于 2015-04-06 16:38:07
回答 1查看 735关注 0票数 0

我想使用Response.Write将数据从DataTable导出到excel文件。但是,excel文件中缺少一些数据。可以帮我解决这个问题。我已经尝试使用StringBuilder创建html,循环没有任何问题,可以获得所有的数据,只有当导出到excel时它才会丢失。请帮我弄一下这个。

代码语言:javascript
复制
            Response.Buffer = true;
            Response.ClearContent();
            Response.Write(HEADER);
            Response.Write(STYLE);
            Response.Write("</head><body><table border=\"0\" style=\"font-size:11pt\"><tr>");
            Response.AddHeader("content-disposition", attachment);
            Response.Charset = "";
            Response.ContentType = "application/vnd.ms-excel";

            Response.Write(strTitle);
            Response.Write("</tr>");

            Response.Write("<tr><td colspan=3>From Date: " + lblFromDate.Text + " To: " + lblToDate.Text + "</td></tr>");
            Response.Write("<tr><td colspan=9>Protocol: " + lblProtocol.Text + "</td></tr>");
            Response.Write("<tr><td colspan=9>Production Line: " + lblPL.Text + "</td></tr>");
            Response.Write("<tr></tr></table>");

            Response.Write("<table border=\"1\" style=\"font-size:11pt\">");
            Response.Write("<tr>");
            for (int i = 0; i < summaryreporttable.Columns.Count - 2; i++)
            {
                Response.Write(" <th>" + summaryreporttable.Columns[i].ToString() + "</th>");
            }

            Response.Write("</tr>");

            for (int r = 0; r < summaryreporttable.Rows.Count; r++)
            {
                Response.Write("<tr>");
                Response.Write("<td>"+r+"</td>");
                for (int i = 0; i < summaryreporttable.Columns.Count - 2; i++)
                {
                    if (summaryreporttable.Columns[i].ToString() == "Issue Date")
                    {

                        //Response.Write("<td  class=\"x167\" valign=\"top\">" + summaryreporttable.Rows[r][i] + "</td>");
                        Response.Write(String.Format("<td  class=\"x167\" valign=\"top\"> {0} </td>", summaryreporttable.Rows[r][i]));
                    }
                    else
                    {
                        //Response.Write("<td class=\"x169\" valign=\"top\">" + summaryreporttable.Rows[r][i] + "</td>");
                        Response.Write(String.Format("<td class=\"x169\" valign=\"top\"> {0} </td>", summaryreporttable.Rows[r][i]));
                    }

                }

                Response.Write("</tr>");
                Response.Flush();
            }

            Response.Write("</table></body></html>");

        }
        catch (Exception ex)
        {
        }
        finally
        {
            Response.End();
        }

如你所见,中间的数据丢失了。

EN

回答 1

Stack Overflow用户

发布于 2015-08-05 19:43:14

我想解释一下我们的方式。这比你的有用。

1-我们在网页中有一个这样的文字

代码语言:javascript
复制
<asp:Literal ID="lblData" runat="server" />

2-在代码中我们有一些字符串变量。我们就像在屏幕上画画一样,使用html来成长。

代码语言:javascript
复制
// our html datas
// you can use foreach for repating
sTEXT = @"<table class='table'><thead>";
sTEXT += @"<th>";
sTEXT += @"Caption A";
sTEXT += @"</th>";
sTEXT += @"</thead>";
sTEXT += @"<tr>";
sTEXT += @"<td>abcdef</td>";
sTEXT += @"<td>ghjklm</td>";
sTEXT += @"</tr>";
sTEXT += @"</table>";

// our screen literaldata sets
lblData.Text = sTEXT;

// excel output code
// carefull end of the "Responce.Write"" sentence 
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1254");
Response.Charset = "windows-1254";
Response.AppendHeader("content-disposition", "attachment;filename=ExportedHtml.xls"); 
Response.Buffer = true;
this.EnableViewState = false;
Response.ContentType = "application/vnd.ms-excel";
Response.Write("<style> TABLE { border: 1px solid gray; } TD { border: 1px solid gray; } </style> " + lblData.Text);
Response.End();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29467928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档