想用C#导出ASP.NET中指定div导出excel,最后却导出整个网页的问题。。。跪求大神解答

前台div:<divrunat="server"id="DR_div"class="con1"align="center"aria-atomic="True"></div... 前台div:
<div runat="server" id="DR_div" class="con1" align="center" aria-atomic="True"></div>
后台C#

ToExcel(this.DR_div);

public void ToExcel(System.Web.UI.Control ctl)
{
try
{
HttpContext.Current.Response.Clear();
string FileName = Guid.NewGuid().ToString().Substring(0, 5) + "_" + this.Cal1.SelectedDate.ToString("yyyyMMdd") + "自身经营数据" + ".xls";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//输出文本为简体中文
if (Path.GetFileNameWithoutExtension(FileName).Length < 24)
{
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(Path.GetFileNameWithoutExtension(FileName) + Path.GetExtension(FileName)));
}
else
{
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(Path.GetFileNameWithoutExtension(FileName).Substring(0, 24) + Path.GetExtension(FileName)));
}
Response.ContentType = "application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
ctl.Page.EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
ctl.RenderControl(hw);
Response.Write(tw.ToString());
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
展开
 我来答
kakayunmu
2014-10-31
知道答主
回答量:8
采纳率:0%
帮助的人:6万
展开全部
在导出之前先 Response.Clear() 一下。建议导出Excel 最好不要这样干,你导出的东西肯定不是正规的Excel格式,你可以使用NPOI库做导出。
追问
我导出的div中主要是table,这样用excel打开不是直接就是表格么。HttpContext.Current.Response.Clear();这一句不是已经responseclear了么?
NPOI库又是什么……求详细解答。
大神,其实这段代码是我从网站上copy来的,并不是很懂,  上面这几句中,是那几句怎么把我当前的div里面的东西导出到excel中的??这几句有什么逻辑关系么?
以及我已经了解到我导出的整个网页是因为加上了导航栏页脚这些layout有什么办法去掉layout直接导出呢?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式