テーブル内のプレースホルダーのコンテンツをエクスポートして、優れたものにする必要があります。そのプレースホルダーを div 内に配置するだけで、データ (テーブル) を Excel にエクスポートできます。しかし、それをテーブルの td 内に配置すると、タイトルのみをエクスポートできましたが、プレースホルダーのコンテンツはエクスポートできませんでした。
<asp:Panel ID="pnlMilestone" runat="server" CssClass="milestone-wrapper">
<div id="TableLists" runat="server" class="milestone-chart-wrapper">
<table>
<tr>
<td style="text-align: center;">
<asp:Label ID="lblChartTitle" runat="server" Visible="False" Font-Bold="True"></asp:Label>
</td>
</tr>
<tr>
<td>
<div runat="server" id="bartable_render">
<div id="bar_chart" style="height: 315px; width: 800px; margin-left: 150px;">
</div>
<div id="bar" style="height: 345px; width: 800px; margin-left: 10px;">
</div>
</div>
<asp:PlaceHolder ID="phDynamicTabular" runat="server"></asp:PlaceHolder>
</td>
</tr>
</table>
</div>
</asp:Panel>
輸出コード:
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=ProjectTarget_" + CampaignID + ".xls");
Response.Charset = "";
Response.ContentType = "application/vnd.xls";
StringWriter stringWrite = new StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
TableLists.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();