我的真正有效javascript导出excel,可以导出输入框等

本文介绍了一种使用JavaScript实现的网页表格操作方法,包括增加、删除行以及将表格数据导出到Excel文件的功能。通过客户端脚本实现了表格数据的动态管理和导出,适用于需要快速部署的数据管理应用。

<HTML>
<TITLE>Form Object example</TITLE>
<HEAD>
<script language="javascript">
function getrowcolvalue(str,innText,rownum)
{

var rstr=str;
var p=rstr.indexOf("name=");

var controlName="";
if (p>0)
{
rstr=rstr.substr(p+5);
//alert(rstr+"------");
p=rstr.indexOf(">");
rstr=rstr.substr(0,p);
//alert(rstr+"=========");
var strarr=document.all[rstr];
if (strarr.length>0)//多个相同的名字 by yl
{
rstr=strarr[rownum].value;
}
else
{
rstr=strarr.value;
}
//alert(rstr+"+++++t");
return rstr;

}
return innText;
}

function AutomateExcel(tableid) //by yanleigis email:landgis@126.com
{
var table;
table = document.getElementById(tableid);
var hang= table.rows.length;
var lie = table.rows(0).cells.length;
var oXL = new ActiveXObject("Excel.Application");
oXL.Visible = true;
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;

// Add table headers going cell by cell.
for (i=1;i <hang;i++) //第一个不考虑
{
for(j=0;j <lie;j++)
{
var str=table.rows(i).cells(j).innerHTML;
//alert(str);
var innText=table.rows(i).cells(j).innerText;
//str=str.repacle(&nbsp,"");
str=getrowcolvalue(str,innText,i);
oSheet.Cells(i,j+1).value = str;
}
}
//oWB.SaveAs("c:/report.xls");

oSheet.printout;

oXL.UserControl = true;
}
function gettbodyValue()
{
alert("-------------------------");
var t= document.all.yltable.children;
for(var i=0; i<t.length; i++)
{
//alert("my:"+t[i].tagName);
if(t[i].tagName=="TBODY")
{
var trs = t[i].children;
for(var j=0;j<trs.length; j++)
{
//alert(trs[j].outerHTML);
}
}
}
}
function delrow1()
{
var oElement=event.srcElement;
while(oElement.tagName!="TR")
{
oElement=oElement.parentElement;
}
var oTBody=oElement.parentElement;
oTBody.style.display="none";
alert(oTBody.id);
//oTBody.removeChild(oElement)
}
//检查必填字段是否填写
function checkFormobj(obj) //form检查
{
alert(obj.name);
try
{
with(obj)
{
for(var i=0;i<length;i++)
{
var eleobj=elements[i];
var ptype=eleobj.type;
var ename=eleobj.name;
var objvalue=eleobj.value;
//alert("ptype:"+ptype+",ename:"+ename+":"+objvalue);

}

}
}

catch (e)
{
alert("错误信息:"+e);
}
//alert("ok_____________");
return true;
}

function insertrow1(tdodyid,yltableid) //增加的一行方法1,采用
{
//alert(yltablename);
var newnode = document.all[tdodyid].cloneNode(true);

//alert("原始:"+newnode.id);
newnode.id="cc";
//gettbodyValue();
//checkFormobj(document.all['ylform']);
//alert(newnode.id);
newnode.style.display="inline";
document.getElementById(yltableid).appendChild(newnode);

}
function deleteallrow(yltableid)
{
//document.getElementById('yltable').removeNode(true); //将所有的含隐含的都删除
var Table=document.getElementById(yltableid);

for(var i=Table.rows.length-1;i>=1;i--) ////将第一个保留
{
Table.deleteRow(i);
}
}

function inserttable()
{
var newnode = document.getElementById('yltable').cloneNode(true);
document.getElementById('ylform').appendChild(newnode);
}
</script>

</HEAD>
<BODY>
<form name="ylform" id="ylform">
<center>
&nbsp;
<input name="button2" type="button" onClick="insertrow1('yl1','yltable');" value="增加记录">
&nbsp;
<input name="button22" type="button" onClick="deleteallrow('yltable');" value="删除所有">
&nbsp;
<input name="button22" type="button" onClick="AutomateExcel('yltable');" value="导出excel">
</center>
<table border="1" align="center" width="50%" id="yltable">
<TBODY id=yl1 style="display=none">
<tr>
<td width="30%" height="22"><div align="center">1</div></td>
<td width="40%">
<div align="center">
<input name="textfield" type="text" value="yl">
</div></td>
<td width="30%"><div align="center">
<input name="button3" type="button" onClick="delrow1('yltable')" value="删除1">
&nbsp;
</div></td>
</tr>
</TBODY>

</table>
<center>
</center>

</form>
</BODY>
</HTML>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值