首页 > 语言 > JavaScript > 正文

如何将网页表格内容导入excel

2024-05-06 14:29:31
字体:
来源:转载
供稿:网友
将访问的页面加入到可信任站点
代码如下:
//导出到Excel,注意,表格标记内不得有注释,因为childNodes会把注释也算进去
//如果出错,需要关闭Excel,否则Excel进程会一直运行着
//td中只能有一个input值
//非td间不可以有组建 否则报缺少“;”错误
//引用页面加上<script type="text/javascript" src="execl.js"></script>
//添加按钮<input style="height:26px" type="button" name="btnExcel" value="导出excel" onClick="ExportExcel(this,'tableNr','','表头');"/>
//将table表的id和class设置为tableNr
function ExportExcel(btn,TabId,strCols,sTitle,sHeader,sFooter){
//alert('ssss');
btn.style.cursor = "wait";
event.returnValue = false;
//try{
var tab = document.getElementById(TabId);
// if(tab == null) tab = document.getElementById("dg")
//if(tab == null) tab = document.getElementById("db")
//if(tab == null) tab = document.getElementById(TabId)
if(tab == null){
alert("缺少表格对象");
btn.style.cursor = "hand";
return;
}
var t = tab.firstChild;
var rows = t.childNodes.length;
//alert(t.nodeName); //test
var tds = t.childNodes[0].childNodes.length;
var cols = 0;
for(var i=0;i<tds;i++){
var td = t.childNodes[0].childNodes[i];
if(parseInt(td.colSpan)>1){
cols += parseInt(td.colSpan);
}
else{
cols++;
}
}
try{
var oXL = new ActiveXObject("Excel.Application");
}catch(e){
alert("请确认已经安装了Excel并允许运行Excel!");
alert("无法启动Excel,请确保电脑中已经安装了Excel!/n/n如果已经安装了Excel,"+"请将ip地址加入信任站点,并调整IE信任站点的安全级别。/n/n具体操作:/n/n"+"工具 → Internet选项 → 安全 → 自定义级别 → ActiveX 控件和插件 → 对未标记为可安全执行脚本的ActiveX 控件初始化并执行脚本 → 启用 → 确定");
btn.style.cursor = "hand";
return;
}
oXL.Workbooks.Add();
var obook = oXL.ActiveWorkBook;
var osheets = obook.Worksheets;
var osheet = obook.Sheets(1);
var xlrow = 1;
//添加标题
if((sTitle == "") || (typeof(sTitle)=="undefined") || (sTitle==null)){
var t_tdHeadc = document.getElementById("tdHeadc");
if(t_tdHeadc != null){
sTitle = t_tdHeadc.innerText;
var sk = sTitle.lastIndexOf("-->")+3;
sTitle = sTitle.substring(sk);
}
}
osheet.Cells(1, 1) = sTitle;
osheet.Range(osheet.Cells(xlrow, 1),osheet.Cells(xlrow,cols)).Select(); //选择该列
oXL.Selection.HorizontalAlignment = 3; //居中
oXL.Selection.MergeCells = true;
xlrow++;
//小标题
if((sHeader == "") || (typeof(sHeader)=="undefined") || (sHeader==null)){
sHeader = "";
}
if(sHeader != ""){
osheet.Cells(2, 1) = sHeader;
osheet.Range(osheet.Cells(xlrow, 1),osheet.Cells(xlrow,cols)).Select(); //选择该列
//oXL.Selection.HorizontalAlignment = 3; //居中
oXL.Selection.MergeCells = true;
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选