从jsp页面导出Excel(IE和其他浏览器下)
2015-11-18 12:26
573 查看
var idTmr;
function isIE() { //ie?
if (!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
}
function method2(tableid) {//整个表格拷贝到EXCEL中
if(isIE())
{
window.clipboardData.setData("Text",document.all(tableid).innerText);//outerHTML会复制html标签
try{
var ExApp = new ActiveXObject("Excel.Application")
var ExWBk = ExApp.workbooks.add()
var ExWSh = ExWBk.worksheets(1)
ExApp.DisplayAlerts = false
ExApp.visible = true
}catch(e){
alert("您的电脑没有安装Microsoft Excel软件!")
return false
}
ExWBk.worksheets(1).Paste;
try {
} catch (e) {
alert("导出失败,请检查是否安装Excel!");
} finally {
}
}
else
{
tableToExcel('result')
}
}
function Cleanup() {
window.clearInterval(idTmr);
CollectGarbage();
}
var tableToExcel = (function() {
var uri = 'data:application/vnd.ms-excel;base64,',
template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>',
base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) },
format = function(s, c) {
return s.replace(/{(\w+)}/g,
function(m, p) { return c[p]; }) }
return function(table, name) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
window.location.href = uri + base64(format(template, ctx))
}
})()
<input id="Button1" type="button" value="导出EXCEL" onclick="javascript:method2('result')" />
function isIE() { //ie?
if (!!window.ActiveXObject || "ActiveXObject" in window)
return true;
else
return false;
}
function method2(tableid) {//整个表格拷贝到EXCEL中
if(isIE())
{
window.clipboardData.setData("Text",document.all(tableid).innerText);//outerHTML会复制html标签
try{
var ExApp = new ActiveXObject("Excel.Application")
var ExWBk = ExApp.workbooks.add()
var ExWSh = ExWBk.worksheets(1)
ExApp.DisplayAlerts = false
ExApp.visible = true
}catch(e){
alert("您的电脑没有安装Microsoft Excel软件!")
return false
}
ExWBk.worksheets(1).Paste;
try {
} catch (e) {
alert("导出失败,请检查是否安装Excel!");
} finally {
}
}
else
{
tableToExcel('result')
}
}
function Cleanup() {
window.clearInterval(idTmr);
CollectGarbage();
}
var tableToExcel = (function() {
var uri = 'data:application/vnd.ms-excel;base64,',
template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>',
base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) },
format = function(s, c) {
return s.replace(/{(\w+)}/g,
function(m, p) { return c[p]; }) }
return function(table, name) {
if (!table.nodeType) table = document.getElementById(table)
var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
window.location.href = uri + base64(format(template, ctx))
}
})()
<input id="Button1" type="button" value="导出EXCEL" onclick="javascript:method2('result')" />
相关文章推荐
- 详解JavaScript中常用的函数类型
- javascript函数 (二 定义函数的三种方法)
- JavaScript如何动态创建table表格
- json串中的对象集合如何转换出来
- JavaScript 函数 (一 JavaScript 函数的声明与使用)
- javascript中字体浮动效果的简单实例演示
- 如何在JS代码里获取浏览器地址栏传过来的参数/页面间传值
- JS 类似contains方法,用indexOf实现
- js 获取屏幕各种宽高的方法(浏览器兼容)
- 使用decj简化Web前端开发(一):声明式Javascript动态加载和浏览器事件绑定
- 解析json格式数据
- JSP基础
- 学习 FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- JS 浏览器地址栏传递参数,参数加密/解密(编码/解码)
- js压缩工具FIS3的安装及使用
- js的eval函数
- JS正则表达式(JavaScript regular expression)
- JS 函数学习
- JS 数字,金额 用逗号 隔开(数字格式化)
- JS之DOM基础学习