62,046
社区成员
发帖
与我相关
我的任务
分享
protected void Button1_Click(object sender, EventArgs e)
{
export pot = new MyHelper.export();
Control col = this.pageColumn;//服务器控件
pot.ExportExcel(this, "测试表", col);
}
public void ExportExcel(Page page, string fileName, Control control)
{
page.EnableViewState = false;
try
{
#region MyRegion
page.Response.ClearContent();
page.Response.Buffer = true;
page.Response.Charset = "GB2312";//设置字符集,解决中文乱码问题
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
//解决HTTP头中文乱码问题
string strExcelText = DateTime.Now.ToShortDateString() + "\t" + fileName;//Excel显示的内容
string strEncode = System.Web.HttpUtility.UrlEncode(strExcelText, System.Text.Encoding.UTF8);//进行编码的格式,用gb2312出错
page.Response.AddHeader("content-disposition", "attachment;filename=\"" + strEncode + ".xls\"");//对保存标题进行编码
page.Response.ContentType = "application/vnd.ms-excel";//设置输出格式
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
control.RenderControl(htw);
//htw.WriteLine(text);//将数据输出
page.Response.Write(sw.ToString());
#endregion
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
<div class="pageColumn" runat="server" id ="pageColumn">
<div class="pageButton" align="left">
</div>
<div id="head" runat="server">
<table id="head1" runat="server">
<tr>
<td class="headTD">
Employee Badge<br />工号
</td>
<td>
<asp:TextBox ID="txt_empID" runat="server" ReadOnly="True" CssClass="myInput" ></asp:TextBox>
</td>
<td class="headTD">
Name<br />姓名
</td>
<td>
<asp:TextBox ID="txt_empName" runat="server" ReadOnly="True" CssClass="myInput"></asp:TextBox>
</td>
<td class="headTD">
Joining Date<br />入职日期
</td>
<td>
<asp:TextBox ID="txt_empJoinDate" runat="server" ReadOnly="True"
CssClass="myInput"></asp:TextBox>
</td>
<td class="headTD">
Dept<br />部门
</td>
<td>
<asp:TextBox ID="txt_empDept" runat="server" ReadOnly="True" CssClass="myInput"></asp:TextBox>
</td>
<td class="headTD" colspan="2">
Job Title<br />职务
</td>
<td>
<asp:TextBox ID="txt_empJobTitle" runat="server" ReadOnly="True"
CssClass="myInput"></asp:TextBox>
</td>
</tr>
</table>
</div>