惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
C
Check Point Blog
博客园_首页
B
Blog
D
Docker
U
Unit 42
量子位
I
InfoQ
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
GbyAI
GbyAI
L
LangChain Blog
云风的 BLOG
云风的 BLOG
博客园 - Franky
美团技术团队
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
雷峰网
雷峰网
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Google DeepMind News
Google DeepMind News

博客园 - 可可果

Java Annotation手册 .NET环境下五种邮件发送解决方案(转载) C#中的事务处理 - 可可果 - 博客园 用commons-fileupload-1.2 实现文件上传(适用于Trubine框架) 用JAVA实现文本形式的树状结构显示(转) Google十大搜索技巧 理解session机制 session的工作原理(转载) Session监听 button添加链接的方法 - 可可果 - 博客园 获得select控件的文本值的方法 - 可可果 - 博客园 清除缓存的方法 - 可可果 - 博客园 Java中Excel导出时文件名乱码问题的解决 单例模式陷阱(转载) java模式中的单例模式(转载) - 可可果 - 博客园 解决用户意外退出在线列表无法及时更新问题(转载) Java开发中,试用hibernate建立关联时出现:not-null property references a null or transient value异常的原因 ListBox之间进行传值的脚本的例子,一般在添加权限,行业或者多项时可以用到 - 可可果 - 博客园 Velocity基本语法
Javascript导出Excel的方法 - 可可果 - 博客园
可可果 · 2008-01-30 · via 博客园 - 可可果

  1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  2"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3<html xmlns="http://www.w3.org/1999/xhtml"> 
  4<head> 
  5    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> 
  6    <title>WEB页面导出为EXCEL文档的方法</title> 
  7</head> 
  8<body> 
  9<table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0"> 
 10    <tr> 
 11        <td colspan="5" align="center">WEB页面导出为EXCEL文档的方法</td> 
 12    </tr> 
 13    <tr> 
 14        <td>列标题1</td> 
 15        <td>列标题2</td> 
 16        <td>列标题3</td> 
 17        <td>列标题4</td> 
 18        <td>列标题5</td> 
 19    </tr> 
 20    <tr> 
 21        <td>aaa</td> 
 22        <td>bbb</td> 
 23        <td>ccc</td> 
 24        <td>ddd</td> 
 25        <td>eee</td> 
 26    </tr> 
 27    <tr> 
 28        <td>AAA</td> 
 29        <td>BBB</td> 
 30        <td>CCC</td> 
 31        <td>DDD</td> 
 32        <td>EEE</td> 
 33    </tr> 
 34    <tr> 
 35        <td>FFF</td> 
 36        <td>GGG</td> 
 37        <td>HHH</td> 
 38        <td>III</td> 
 39        <td>JJJ</td> 
 40    </tr>  
 41</table> 
 42<input type="button" onclick="javascript:method1('tableExcel');" value="第一种方法导入到EXCEL"> 
 43<input type="button" onclick="javascript:method2('tableExcel');" value="第二种方法导入到EXCEL"> 
 44<input type="button" onclick="javascript:getXlsFromTbl('tableExcel',null);" value="第三种方法导入到EXCEL"> 
 45<SCRIPT LANGUAGE="javascript"> 
 46function method1(tableid) {//整个表格拷贝到EXCEL中 
 47    var curTbl = document.getElementById(tableid); 
 48    var oXL = new ActiveXObject("Excel.Application"); 
 49    //创建AX对象excel 
 50    var oWB = oXL.Workbooks.Add(); 
 51    //获取workbook对象 
 52        var oSheet = oWB.ActiveSheet; 
 53    //激活当前sheet 
 54    var sel = document.body.createTextRange(); 
 55    sel.moveToElementText(curTbl); 
 56    //把表格中的内容移到TextRange中 
 57    sel.select(); 
 58    //全选TextRange中内容 
 59    sel.execCommand("Copy"); 
 60    //复制TextRange中内容  
 61    oSheet.Paste(); 
 62    //粘贴到活动的EXCEL中       
 63    oXL.Visible = true
 64    //设置excel可见属性 
 65}
 
 66function method2(tableid) //读取表格中每个单元到EXCEL中 
 67
 68    var curTbl = document.getElementById(tableid); 
 69    var oXL = new ActiveXObject("Excel.Application"); 
 70    //创建AX对象excel 
 71    var oWB = oXL.Workbooks.Add(); 
 72    //获取workbook对象 
 73    var oSheet = oWB.ActiveSheet; 
 74    //激活当前sheet 
 75    var Lenr = curTbl.rows.length; 
 76    //取得表格行数 
 77    for (i = 0; i < Lenr; i++
 78    
 79        var Lenc = curTbl.rows(i).cells.length; 
 80        //取得每行的列数 
 81        for (j = 0; j < Lenc; j++
 82        
 83            oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText; 
 84            //赋值 
 85        }
 
 86    }
 
 87    oXL.Visible = true
 88    //设置excel可见属性 
 89}
 
 90function getXlsFromTbl(inTblId, inWindow) 
 91    try 
 92        var allStr = ""
 93        var curStr = ""
 94        //alert("getXlsFromTbl"); 
 95        if (inTblId != null && inTblId != "" && inTblId != "null"
 96            curStr = getTblData(inTblId, inWindow); 
 97        }
 
 98        if (curStr != null
 99            allStr += curStr; 
100        }
 
101        else 
102            alert("你要导出的表不存在!"); 
103            return
104        }
 
105        var fileName = getExcelFileName(); 
106        doFileExport(fileName, allStr); 
107    }
 
108    catch(e) 
109        alert("导出发生异常:" + e.name + "->" + e.description + "!"); 
110    }
 
111}
 
112function getTblData(inTbl, inWindow) 
113    var rows = 0
114    //alert("getTblData is " + inWindow); 
115    var tblDocument = document; 
116    if (!!inWindow && inWindow != ""
117        if (!document.all(inWindow)) 
118            return null
119        }
 
120        else 
121            tblDocument = eval(inWindow).document; 
122        }
 
123    }
 
124    var curTbl = tblDocument.getElementById(inTbl); 
125    var outStr = ""
126    if (curTbl != null
127        for (var j = 0; j < curTbl.rows.length; j++
128            //alert("j is " + j); 
129            for (var i = 0; i < curTbl.rows[j].cells.length; i++
130                //alert("i is " + i); 
131                if (i == 0 && rows > 0
132                    outStr += " \t"
133                    rows -= 1
134                }
 
135                outStr += curTbl.rows[j].cells[i].innerText + "\t"
136                if (curTbl.rows[j].cells[i].colSpan > 1
137                    for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++
138                        outStr += " \t"
139                    }
 
140                }
 
141                if (i == 0
142                    if (rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1
143                        rows = curTbl.rows[j].cells[i].rowSpan - 1
144                    }
 
145                }
 
146            }
 
147            outStr += "\r\n"
148        }
 
149    }
 
150    else 
151        outStr = null
152        alert(inTbl + "不存在!"); 
153    }
 
154    return outStr; 
155}
 
156function getExcelFileName() 
157    var d = new Date(); 
158    var curYear = d.getYear(); 
159    var curMonth = "" + (d.getMonth() + 1); 
160    var curDate = "" + d.getDate(); 
161    var curHour = "" + d.getHours(); 
162    var curMinute = "" + d.getMinutes(); 
163    var curSecond = "" + d.getSeconds(); 
164    if (curMonth.length == 1
165        curMonth = "0" + curMonth; 
166    }
 
167    if (curDate.length == 1
168        curDate = "0" + curDate; 
169    }
 
170    if (curHour.length == 1
171        curHour = "0" + curHour; 
172    }
 
173    if (curMinute.length == 1
174        curMinute = "0" + curMinute; 
175    }
 
176    if (curSecond.length == 1
177        curSecond = "0" + curSecond; 
178    }
 
179    var fileName = "leo_zhang" + "_" + curYear + curMonth + curDate + "_" 
180            + curHour + curMinute + curSecond + ".csv"
181    //alert(fileName); 
182    return fileName; 
183}
 
184function doFileExport(inName, inStr) 
185    var xlsWin = null
186    if (!!document.all("glbHideFrm")) 
187        xlsWin = glbHideFrm; 
188    }
 
189    else 
190        var width = 6
191        var height = 4
192        var openPara = "left=" + (window.screen.width / 2 - width / 2
193                + ",top=" + (window.screen.height / 2 - height / 2
194                + ",scrollbars=no,width=" + width + ",height=" + height; 
195        xlsWin = window.open("""_blank", openPara); 
196    }
 
197    xlsWin.document.write(inStr); 
198    xlsWin.document.close(); 
199    xlsWin.document.execCommand('Saveas'true, inName); 
200    xlsWin.close(); 
201}
 
202
</SCRIPT> 
203</body> 
204</html>