JavaScript将页面表格导出为Excel的具体实现

 更新时间:2013年12月27日 10:44:54   作者:   我要评论
如何将页面表格导出为Excel,这在日常工作中很常见,下面为大家详细的介绍下使用JavaScript是如何实现的
复制代码 代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>导出Excel</TITLE>
<script type="text/javascript">
var idTmr = "";
function killExcelProcess(appExcel_){
appExcel_.Quit();
appExcel_ = null;
idTmr = window.setInterval("Cleanup();",1);
}

//导出到excel,参数tableid为JSP页面需要导出的table的id,需要更改IE的安全设置,ActiveX都打开,如果还是不能使用,再服务端运行“regsvr32 scrrun.dll”
function exportToExcel(tableid,notitleandsearch){
try {
clipboardData.setData('Text','');
var appExcel = new ActiveXObject("Excel.Application");

killExcelProcess(appExcel);
appExcel.workbooks.add;

//标题
if (notitleandsearch==null||notitleandsearch==false){
var elTable = document.getElementById('div_title');
var oRangeRef = document.body.createTextRange();
oRangeRef.moveToElementText(elTable);
oRangeRef.execCommand( "Copy" );
appExcel.ActiveSheet.Cells(1,3).select();
appExcel.ActiveSheet.Paste();

clipboardData.setData('Text','');
appExcel.ActiveSheet.Cells(2,1).select();
appExcel.ActiveSheet.Paste();
}

var elTable1 = document.getElementById(tableid);
var oRangeRef1 = document.body.createTextRange();
oRangeRef1.moveToElementText(elTable1);
oRangeRef1.execCommand( "Copy" );

appExcel.WorkSheets(1).Activate;
if (notitleandsearch==null||notitleandsearch==false){
appExcel.ActiveSheet.Cells(3,1).select();
}else{
appExcel.ActiveSheet.Cells(1,1).select();
}
appExcel.WorkSheets(1).Activate;
appExcel.ActiveSheet.Paste();
appExcel.Visible = true;

} catch(e) {
alert("请确认IE安全设置,ActiveX都启用!");
return false;
}
clipboardData.setData('text','');
}
</script>
</HEAD>

<BODY>
<button onclick="javascript:exportToExcel('testList','');">导出</button><br>

<div id='div_title' >
<font color='black' size='4'><strong>导出报表</strong></font>
</div>
<table id = "testList" bordercolor="#000000" border = "1">
<tr>
<td>序列</td>
<td>姓名</td>
<td>数量</td>
</tr>
<tr>
<td>1</td>
<td>张三1</td>
<td>2</td>
</tr>
<tr>
<td>2</td>
<td>张三2</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>张三3</td>
<td>2</td>
</tr>
<tr>
<td>4</td>
<td>张三4</td>
<td>2</td>
</tr>
<tr>
<td>5</td>
<td>张三5</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">总计:</td>
<td>10</td>
</tr>

</table>
</BODY>
</HTML>

相关文章

  • JavaScipt中栈的实现方法

    JavaScipt中栈的实现方法

    这篇文章主要介绍了JavaScript数据结构与算法之栈详解,本文讲解了对栈的操作、对栈的实现实例等内容,需要的朋友可以参考下
    2016-02-02
  • JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】

    JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复

    这篇文章主要介绍了JavaScript数据结构与算法之检索算法,结合实例形式分析了二分查找法、计算重复次数相关算法原理与使用技巧,需要的朋友可以参考下
    2019-02-02
  • 11款基于Javascript的文件管理器

    11款基于Javascript的文件管理器

    11款基于JavaScript的文件管理器,大多数免费开源,功能并不逊色于那些专业的文件管理程序。
    2009-10-10
  • Extjs显示从数据库取出时间转换JSON后的出现问题

    Extjs显示从数据库取出时间转换JSON后的出现问题

    后台从数据库取出时间,JSON格式化后再传到gridpanel,这时时间变成了:/Date(32331121223)/这样的格式,本文将详细介绍解决Extjs显示从数据库取出时间转换JSON后的出现问题
    2012-11-11
  • javascript  数组排序与对象排序的实例

    javascript 数组排序与对象排序的实例

    这篇文章主要介绍了javascript 数组排序与对象排序的实例的相关资料,需要的朋友可以参考下
    2017-07-07
  • JavaScript页面实时显示当前时间实例代码

    JavaScript页面实时显示当前时间实例代码

    最近因为项目需要,有个需求是让实时显示当前时间,然后想想这不简单吗,自己就动手敲代码,但是发现一个问题,通过getMonth()得到月份,总是会比当前月份少1,深深觉得实践出真知啊…之前觉得Date对象挺简单的,有很多细节都没有注意。下面这篇文章就给大家详细介绍下。
    2016-10-10
  • Javascript 浏览器事件小结

    Javascript 浏览器事件小结

    Javascript中的事件都是与对象相关联的,而不是语言本身所有,当Javascript在浏览器中运行的时候,事件与每个浏览器实现的DOM模型有关。
    2010-02-02
  • JS判断客服QQ号在线还是离线状态的方法

    JS判断客服QQ号在线还是离线状态的方法

    这篇文章主要介绍了JS判断客服QQ号在线还是离线状态的方法,可实现完整的判断QQ在线及对话的功能,是非常实用的技巧,需要的朋友可以参考下
    2015-01-01
  • 使用layui 渲染table数据表格的实例代码

    使用layui 渲染table数据表格的实例代码

    今天小编就为大家分享一篇使用layui 渲染table数据表格的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • layui2.0使用table+laypage实现真分页

    layui2.0使用table+laypage实现真分页

    这篇文章主要为大家详细介绍了layui2.0使用table+laypage实现真分页,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07

最新评论