100分急!!!!!!求将网页上的htmltable导出到Excel

itolypmqqmdf 2009-03-03 09:44:05
我在网上找了好多的导出到Excel中js代码,都是需要使用ActiveXObject的,但要使用ActiveXObject,就必须要更改ie中的安全设置.
那样客户是不允许的.
还有,我现在做的东西,有好多的东西都不是用数据邦定控件生成的htmltable的.所以,不能用api那么导excel.
还有,我现在做的东西,有好多的页都要求有导出功能,所以只能将页面导出到excel中,不然的我每个业务,就点去画到excel中了.
还有,不想用服务端来实现.
求解决办法!
...全文
298 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Airch 2011-03-14
  • 打赏
  • 举报
回复
干嘛非要用ActiveXObject这个啊,一定要用js么
醉★红颜 2011-03-14
  • 打赏
  • 举报
回复
我也在找啊。。。。数据源是有啊,要是能有那个还提问干嘛,明显我们后台生成的前台表格样式不是规则的table赛。。
hiboys 2011-03-14
  • 打赏
  • 举报
回复
总结:用后台代码生成你需要的输出流,供客户下载
消失的尘芥 2011-03-14
  • 打赏
  • 举报
回复
explife 2011-03-14
  • 打赏
  • 举报
回复
Post方式把htmltable.innerHTML POST到一个页面,
public void CreateExcel(string str)
{
string filename = HttpUtility.UrlEncode(DateTime.Now.ToString("yyyyMMdd-HHmm"));
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename + ".xls");
Response.ContentType = "application/ms-excel";
Response.ContentEncoding = Encoding.GetEncoding("GB2312");
Response.Write(str);
Response.End();
}
subxli 2011-03-14
  • 打赏
  • 举报
回复
我现在也是和楼主一样啊 要这样导出excel
ZengJerry 2011-03-14
  • 打赏
  • 举报
回复
不用Js的话,后台方式好多种啊,一种是用数据源直接生成csv文件或excel文件,下载....
一种是直接获取前台的htmltable,然后如下
public void CreateExcel(string strXml)
{
string filename = HttpUtility.UrlEncode(DateTime.Now.ToString("yyyyMMdd-HHmm"));
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename + ".xls");
Response.ContentType = "application/ms-excel";
Response.ContentEncoding = Encoding.GetEncoding("GB2312");
Response.Write(strXml);
Response.End();
}
phoebuswei 2009-03-03
  • 打赏
  • 举报
回复
我问你是要到处exce文件还是网页啊
要是网页你可以用excel生成一个空的网页
然后把数据填充上去
————
新建excel另存为web,吧他的格式复制下来就行了
下面的就是数据填充了
要是想在web上做效果,或是到处文件,要用com来取得连接
jiezi316 2009-03-03
  • 打赏
  • 举报
回复
5楼的可行
Terry717 2009-03-03
  • 打赏
  • 举报
回复
帮顶!!!
Cherishny 2009-03-03
  • 打赏
  • 举报
回复
学习 up
ljjzyq 2009-03-03
  • 打赏
  • 举报
回复
public void ExportToExcel(DataTable dt)//这里传进参数DataTable
{
string fileName = "****name***" + DateTime.Now.ToShortDateString();//文件的名称
this.Response.Clear();
this.Response.Charset = "gb2312 ";
this.Response.ContentEncoding = System.Text.Encoding.Default;
this.Response.ContentType = "application/vnd.ms-excel";
this.Response.AddHeader("Pragma", "public");
this.Response.AddHeader("Cache-Control", "max-age=0");
this.Response.AppendHeader("content-disposition", "attachment; filename=" + HttpContext.Current.Server.UrlPathEncode(fileName) + ".xls");
string colHeaders = "";
string ls_item = "";
System.IO.StringWriter stringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlTextWriter = new System.Web.UI.HtmlTextWriter(stringWriter);
this.EnableViewState = false;

if (dt != null)
{
// header
for (int i = 0; i < dt.Columns.Count - 2; i++)
{
colHeaders += dt.Columns[i].Caption.ToString() + "\t ";
}
colHeaders += dt.Columns[dt.Columns.Count - 2].Caption.ToString() + "\n ";

Response.Write(colHeaders);

// table body
foreach (DataRow dr in dt.Rows)
{
// ID
ls_item += dr[0].ToString() + "\t ";
// digitalID
ls_item += dr[1].ToString() + "\t ";
// loginname
ls_item += dr[2].ToString() + "\t ";
// createdate
ls_item += dr[3].ToString() + "\t ";
// loginnam
ls_item += dr[4].ToString() + "\t ";
// corname
ls_item += dr[5].ToString() + "\t ";
// url
ls_item += dr[6].ToString() + "\t ";
// realname
ls_item += dr[7].ToString() + "\t ";
// tel
ls_item += dr[8].ToString() + "\t ";
// mobileno

ls_item += dr[9].ToString() + "\t ";
//email
ls_item += dr[10].ToString() + "\t ";
//memo
ls_item += dr[11].ToString() + "\t ";
// leaguetype

ls_item += dr[12].ToString() + "\t ";
// approveflag
//输出EXcel的内容
ls_item += dr[13].ToString() + "\t ";

// skeyword
ls_item += dr[14].ToString() + "\t ";


Response.Write(ls_item);

ls_item = "";

}
this.Response.End();
}
}
lovehongyun 2009-03-03
  • 打赏
  • 举报
回复
你的htmltable中的数据是哪来的?
肯定要来源一个数据源吧?
比如来自一个DataTable,这样你就可以把这个DataTable导出到excel了
itolypmqqmdf 2009-03-03
  • 打赏
  • 举报
回复
顶,真的是无解吗,其实是我是想,如果ActiveXObject用的时候,不更改ie设置,不就行了.怎么才能做到啊.
sxmonsy 2009-03-03
  • 打赏
  • 举报
回复
楼主这样是的想法是不太现实的.你要不在服务器端导出EXCEL,要不在客户端调用ActiveXObject来完成.
因为要导出EXCEL肯定要用到Office库.

62,256

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧