2014-01-06 4 views
0

Я побежал в ошибку: не удается получить внутреннее содержание ExportDiv, потому что содержимое не буквальным Я сделал поиск и получил эту самую useful resource!Невозможно получить внутренний HTML

Я знаю, что я использовал сервер управления в моей странице ASPX , Страница извлекает данные динамически из базы данных. Как я могу экспортировать эти данные в excel, учитывая, что на моей странице html есть элементы управления сервером.

Here're часть кода site.aspx на страницу

<form id="form1" runat="server"> 
    <div runat="server" id="ExportDiv"> 
     <asp:Panel ID="ResultsPanel" runat="server"> 
     <table cellpadding="0" class="style1"> 
      <tr> 
       <td class="style2"> 
        <asp:DetailsView ID="DetailsView1" runat="server" CellPadding="4" 
        </asp:DetailsView> 
       </td> 
       <td> 
        Poor</td> 
       <td> 
        Good</td> 
       <td class="style3"> 
        Very Good</td> 
       <td> 
        Total Responses</td> 
       <td> 
        Average Score</td> 
      </tr> 
      <tr> 
       <td class="style2" colspan="6" bgcolor="#CCCCCC"> 
        1. How would you rate the food served to you?</td> 
      </tr> 
      <tr> 
       <td class="style2"> 
        &nbsp; &nbsp;a.) Overall Quality Taste and Flavour.<br /> 
        &nbsp; &nbsp;b.) Variety of Food.</td> 
       <td> 
        <asp:Label ID="lblResult0" runat="server" Text="Label"></asp:Label><br/> 
        <asp:Label ID="lblResult3" runat="server" Text="Label"></asp:Label> 
       </td> 
       <td> 
        <asp:Label ID="lblResult1" runat="server" Text="Label"></asp:Label><br/> 
        <asp:Label ID="lblResult4" runat="server" Text="Label"></asp:Label> 
       </td> 
       <td class="style3"> 
        <asp:Label ID="lblResult2" runat="server" Text="Label"></asp:Label><br/> 
        <asp:Label ID="lblResult5" runat="server" Text="Label"></asp:Label> 
       </td> 
       <td> 
        <asp:Label ID="aveNum0" runat="server" Text="Label"></asp:Label> 
        <br/> 
        <asp:Label ID="aveNum1" runat="server" Text="Label"></asp:Label> 
        <br/> 
       </td> 
       <td> 
        <asp:Label ID="aveScore0" runat="server" Text="Label" style="font-weight: 700"></asp:Label> 
        <br /> 
        <asp:Label ID="aveScore1" runat="server" Text="Label" style="font-weight: 700"></asp:Label> 
        <br/> 
       </td> 
      </tr> 
      </table> 
     </asp:Panel> 


    </div> 
        <asp:GridView ID="gvSurveyResult" runat="server"> 
    </asp:GridView> 
    <asp:GridView ID="GridView1" runat="server"> 
    </asp:GridView> 
    </form> 
</body> 

А вот и код site.aspx.cs

Response.AppendHeader("content-disposition", "attachment;filename=ExportedHtml.xls"); 
    Response.Charset = ""; 
    Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    Response.ContentType = "application/vnd.ms-excel"; 
    this.EnableViewState = false; 
    Response.Write(ExportDiv.InnerHtml); 
    Response.End(); 

Все ответы будут приветствоваться!

+0

Вы используете строку запроса, чтобы определить, какую запись данных вы ищете? если это так, вы можете просто использовать HttpWebRequest и HttpWebResponse, чтобы получить HTML-страницу страницы, а затем проанализировать ее, как вам нравится. – jgok222

ответ

1

Прошло некоторое время с тех пор, как я сделал серверные элементы управления и т. Д., Но будет ли это трюк?

http://harouny.com/2012/10/15/render-asp-net-controls-user-controls-to-html-by-code/

+0

Это сработало отлично. В корпусе управления Label Controls и Gridview находится панель управления. Я просто передал идентификатор панели в качестве параметра, и он сработал. Осе снова, спасибо кучу! – Guzzyman

1

Я хотел бы предложить вам создать функцию, которая преобразует данные в значения, разделенные запятыми, а затем сделать то же, как CSV вместо формата Excel. Оба файла формата CSV и Excel будут открываться таким же образом в excel.

+0

Я хочу, чтобы вся страница отображалась в csv или excel. Сама pafge - статическая страница, которая извлекает динамический контент из базы данных. У меня есть gridview на отдельной странице с подробной ссылкой на шоу. Как только эта ссылка будет нажата, страница, о которой идет речь, выберет данные, относящиеся к ссылке, и отобразит ее. Однако я хочу экспортировать эту страницу в Excel. – Guzzyman

+0

Мое понимание вашего подхода в том, что: сначала загружается страница, у которой есть ссылка, которая при нажатии вызывает другую страницу или загружает некоторые данные на ту же страницу. Теперь вновь созданная страница редактируется пользователем, а на обратной стороне вы хотите экспортировать все данные страницы (состоящие из пользовательских входов), чтобы преуспеть. Пожалуйста, исправьте, если я понял что-то не так, это поможет мне лучше понять вашу проблему. –

Смежные вопросы