自适应伤害是什么意思:如何用javascript通过服务器把table的数据写入excel

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 22:16:39
我想要把网页内的表格(table)里的数据都生成到excel
网上找了很多数据
有一段javascript实现的功能我觉得很不错
这就是代码:
function toexcel(){
var elTable = document.getElementById("tb");
var oRangeRef = document.body.createTextRange();
oRangeRef.moveToElementText( elTable );
oRangeRef.execCommand( "Copy" );

var appExcel = new ActiveXObject( "Excel.Application" );
appExcel.Visible = true;
appExcel.Workbooks.Add().Worksheets.Item(1).Paste();
appExcel = null;
}

我把它写在网页中,本地访问网页的话可以实现功能
可是通过服务器访问就会提示script error!
我朋友跟我说是不能创建对象,所以excel无法导出
我不知道是不是,我也不知道怎么给它创建对象
有没有javascript高手知道为什么?或者知道如何解决的,又或者有更好的table到excel的方法的,都欢迎告知,答案满意的话我会再加分的
能不能说的详细点,最好带点代码,不然我不明白的。。
还有我其实就是在本地架了一个服务器
本地直接打开网页没问题,但是通过服务器访问该文件就出错
而客户端还是我自己的机器
也就是说服务器和客户端都是我自己的机子,上面是装excel
而且直接运行那个网页就是没问题的。。

你写以先写一个DIV,OR是一个子框架并让他不显示,在里边入一个表单,用javascript把你的内容传给表单中指定的控件,最后用是javascript提交那个表单,这样你的数据就传给你服务器端了,而在服务器端你可以找一个写execel的程序看一下怎么写,就行了,我推荐用框架,因为用了框架你的页面看起来,好像没有被提交一样,我想这也可能是你想要的

javascript 客户端实现导入word、excel的小程序
Posted on 2006-08-05 20:40 Computerboy 阅读(212) 评论(0) 编辑 收藏 收藏至365Key 所属分类: 编程技术
这个程序是我在网上搜集的,并结合自己的一点东西。写的。也算是网上的东西吧。
本文的所有权归原作者所有!

-----start

<table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor = "#61FF13">
<TR style="text-align : center;">
<TD>单元格A</TD>
<TD>单元格A</TD>
<TD>单元格A</TD>
<TD>单元格A</TD>
</TR>
<TR>
<TD colSpan=4 style="text-align : center;"><font color="BLUE" face="Verdana">单元格合并行A</FONT></TD>
</TR>
</TABLE>
<table id = "PrintB" width="100%" border="1" cellspacing="0" cellpadding="0">
<TR style="text-align : center;">
<TD>单元格B</TD>
<TD>单元格B</TD>
<TD>单元格B</TD>
<TD>单元格B</TD>
</TR>
<TR>
<TD colSpan=4 style="text-align : center;">单元格合并行B</TD>
</TR>
</TABLE>
<br/>
<input type="button" onclick="javascript:AllAreaWord();" value="导出页面指定区域内容到Word">
<input type="button" onclick="javascript:AllAreaExcel();" value="导出页面指定区域内容到Excel">
<input type="button" onclick="javascript:CellAreaExcel();" value="导出表单单元格内容到Excel">

-----------------------

<SCRIPT LANGUAGE="javascript">
//指定页面区域内容导入Excel
function AllAreaExcel()
{
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var sel=document.body.createTextRange();
sel.moveToElementText(PrintA);
sel.select();
sel.execCommand("Copy");
oSheet.Paste();
oXL.Visible = true;
}
//指定页面区域“单元格”内容导入Excel
function CellAreaExcel()
{
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var Lenr = PrintA.rows.length;
for (i=0;i<Lenr;i++)
{
var Lenc = PrintA.rows(i).cells.length;
for (j=0;j<Lenc;j++)
{
oSheet.Cells(i+1,j+1).value = PrintA.rows(i).cells(j).innerText;
}
}
oXL.Visible = true;
}
//指定页面区域内容导入Word
function AllAreaWord()
{
var oWD = new ActiveXObject("Word.Application");
var oDC = oWD.Documents.Add("",0,1);
var oRange =oDC.Range(0,1);
var sel = document.body.createTextRange();
sel.moveToElementText(PrintA);
sel.select();
sel.execCommand("Copy");
oRange.Paste();
oWD.Application.Visible = true;
//window.close();
}
</SCRIPT>
</body></html>

通过服务器?
你上面的写法是本地运行的,也就是说和服务器没有关系
大概是客户机的execl没有安装或者IE安全不允许调用

我问你你显示的数据也是在数据库里查出来的这样的代码你直接就可以在服务器做处理然后导进EXCEL最后实现观看过下载

看看

在后台动态生成文件,给出地址让别人下不更好