<SCRIPT LANGUAGE="javascript">
function method1(tableid) {//整个表格拷贝到EXCEL中
var curTbl = document.getElementById(tableid);
var oXL = new ActiveXObject("Excel.Application");
//创建AX对象excel
var oWB = oXL.Workbooks.Add();
//获取workbook对象
var oSheet = oWB.ActiveSheet;
//激活当前sheet
var sel = document.body.createTextRange();
sel.moveToElementText(curTbl);
//把表格中的内容移到TextRange中
sel.select();
//全选TextRange中内容
sel.execCommand("Copy");
//复制TextRange中内容
oSheet.Paste();
//粘贴到活动的EXCEL中
oXL.Visible = true;
//设置excel可见属性
}
function method2(tableid) //读取表格中每个单元到EXCEL中
{
var curTbl = document.getElementById(tableid);
var oXL = new ActiveXObject("Excel.Application");
//创建AX对象excel
var oWB = oXL.Workbooks.Add();
//获取workbook对象
var oSheet = oWB.ActiveSheet;
//激活当前sheet
var Lenr = curTbl.rows.length;
//取得表格行数
for (i = 0; i < Lenr; i++)
{
var Lenc = curTbl.rows(i).cells.length;
//取得每行的列数
for (j = 0; j < Lenc; j++)
{
oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText;
//赋值
}
}
oXL.Visible = true;
//设置excel可见属性
}
function getXlsFromTbl(inTblId, inWindow) {
try {
var allStr = "";
var curStr = "";
//alert("getXlsFromTbl");
if (inTblId != null && inTblId != "" && inTblId != "null") {
curStr = getTblData(inTblId, inWindow);
}
if (curStr != null) {
allStr += curStr;
}
else {
alert("你要导出的表不存在!");
return;
}
var fileName = getExcelFileName();
doFileExport(fileName, allStr);
}
catch(e) {
alert("导出发生异常:" + e.name + "->" + e.description + "!");
}
}
function getTblData(inTbl, inWindow) {
var rows = 0;
//alert("getTblData is " + inWindow);
var tblDocument = document;
if (!!inWindow && inWindow != "") {
if (!document.all(inWindow)) {
return null;
}
else {
tblDocument = eval(inWindow).document;
}
}
var curTbl = tblDocument.getElementById(inTbl);
var outStr = "";
if (curTbl != null) {
for (var j = 0; j < curTbl.rows.length; j++) {
//alert("j is " + j);
for (var i = 0; i < curTbl.rows[j].cells.length; i++) {
//alert("i is " + i);
if (i == 0 && rows > 0) {
outStr += " \t";
rows -= 1;
}
outStr += curTbl.rows[j].cells[i].innerText + "\t";
if (curTbl.rows[j].cells[i].colSpan > 1) {
for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) {
outStr += " \t";
}
}
if (i == 0) {
if (rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1) {
rows = curTbl.rows[j].cells[i].rowSpan - 1;
}
}
}
outStr += "\r\n";
}
}
else {
outStr = null;
alert(inTbl + "不存在!");
}
return outStr;
}
function getExcelFileName() {
var d = new Date();
var curYear = d.getYear();
var curMonth = "" + (d.getMonth() + 1);
var curDate = "" + d.getDate();
var curHour = "" + d.getHours();
var curMinute = "" + d.getMinutes();
var curSecond = "" + d.getSeconds();
if (curMonth.length == 1) {
curMonth = "0" + curMonth;
}
if (curDate.length == 1) {
curDate = "0" + curDate;
}
if (curHour.length == 1) {
curHour = "0" + curHour;
}
if (curMinute.length == 1) {
curMinute = "0" + curMinute;
}
if (curSecond.length == 1) {
curSecond = "0" + curSecond;
}
var fileName = "leo_zhang" + "_" + curYear + curMonth + curDate + "_"
+ curHour + curMinute + curSecond + ".csv";
//alert(fileName);
return fileName;
}
function doFileExport(inName, inStr) {
var xlsWin = null;
if (!!document.all("glbHideFrm")) {
xlsWin = glbHideFrm;
}
else {
var width = 6;
var height = 4;
var openPara = "left=" + (window.screen.width / 2 - width / 2)
+ ",top=" + (window.screen.height / 2 - height / 2)
+ ",scrollbars=no,width=" + width + ",height=" + height;
xlsWin = window.open("", "_blank", openPara);
}
xlsWin.document.write(inStr);
xlsWin.document.close();
xlsWin.document.execCommand('Saveas', true, inName);
xlsWin.close();
}
</SCRIPT> 

<input type="button" onclick="javascript:method1('tableExcel');" value="第一种方法导入到EXCEL"> 
<input type="button" onclick="javascript:method2('tableExcel');" value="第二种方法导入到EXCEL"> 
<input type="button" onclick="javascript:getXlsFromTbl('tableExcel',null);" value="第三种方法导入到EXCEL">

<table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0"> 
<tr>.....

说明第二种方法最好

Javascript导出Excel的方法相关推荐

  1. 懒人小工具1:winform自动生成Model,Insert,Select,Delete以及导出Excel的方法

       懒人小工具2:T4自动生成Model,Insert,Select,Delete以及导出Excel的方法    github地址:https://github.com/Jimmey-Jiang/J ...

  2. csv和excel php 解析_PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数

    CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件. 一.CSV数据导入函数fgetcsv() fgetcsv() 函数从文件指针中读入一行并解析 CSV ...

  3. PHP导出excel的方法总结

    PHP导出excel的方法总结 1.两个步骤定义导出方法和内容 public function exportExcel($expTitle,$expCellName,$expTableData,$st ...

  4. JavaScript导出Excel通用代码。

    2019独角兽企业重金招聘Python工程师标准>>> js导出Excel通用代码. html代码如下: <!DOCTYPE html PUBLIC "-//W3C/ ...

  5. java excel 导出_java导出Excel通用方法实例

    数据导出到Excel几乎是所有客户都会提出的一个需求.下面我就分享一下我的代码. 首先需要引入的jar包: 然后就是正式代码了. package lcy._41_50; import java.io. ...

  6. 用OleDb写的一个导出Excel的方法

    为什么80%的码农都做不了架构师?>>>    //前几天遇到个导出Excel的问题,然后上网找了很久,终于写出这个方法了,所以分享一下. /// <summary> / ...

  7. 最简单的php导出excel文件方法

    网上有很多php操作excel或其他文件的类库,也做的很完善.比如无比风骚的PHPExcel,官方网站:http://www.codeplex.com/PHPExcel ,pear的Spreadshe ...

  8. C#关于导出excel的方法

    一说到导出excel可能很多人都会觉得说直接利用npoi 导入导出excel格式的文件,那样非常方便,但是可能有些时候有的浏览器不支持,那么该怎么办呢,现在介绍一种纯C#的导出excel的方法,代码如 ...

  9. 前端table导出excel表格方法汇总

    在做一些后台管理系统中,经常会遇到table 组件:然后需要导出excel.开发中实现方法如下: 第一类:后端来做导出功能(后端做更合适) 1. 后端生成excel,返回一个url地址:前端直接利用浏 ...

最新文章

  1. ubuntu18.04.4 没有声音
  2. python学习有哪些方向可以选择_学习Python后都有哪些发展方向?
  3. android Butter Knife 使用详解
  4. java用递归删除文件夹_Java中通过递归调用删除文件夹下所有文件
  5. 理解javascript闭包
  6. 2d的公式_旋转之二 - 三维空间中的旋转:罗德里格旋转公式
  7. Laravel Composer 命令大全
  8. springboot 通过url访问本地文件
  9. [转]由于项目原因看了一下vml,写了一个Web工作流的设计器雏形!
  10. windows--reg--删除注册表指定的键(也叫项)、指定的值
  11. VisualStudio quick tips -- 快速在多个打开的代码文件间切换
  12. 网站如何优化才是成功的
  13. 基于wincc的虚拟电梯设计_PLC基于WinCC的四层电梯监控系统设计+梯形图
  14. 15 | 网络优化(上):移动开发工程师必备的网络优化知识
  15. python 报错 'gbk' codec can't encode character '\xb5' in position 7431: illegal multib
  16. 诺亚传说手游怎么用电脑玩 诺亚传说手游PC电脑版教程
  17. 射频功放学习之MATLAB绘制ADS S11参数曲线
  18. Android的DrawText详解
  19. 正交矩阵的定义及证明和性质
  20. 电容式触摸屏调试常见问题汇总

热门文章

  1. 功能测试常用6种方法_建筑管道常用的8种连接方法
  2. android+邮箱删除邮件,在Android上删除烦人的语音邮件通知 | MOS86
  3. 数据结构与算法(6-2)二叉树的存储结构(顺序存储、链式存储)
  4. 服务器维护怎么联系抖音客服,如何联系抖音客服?
  5. error LNK2019: 无法解析的外部符号,该符号在函数 _main 中被引用的解决方法
  6. jmeter吞吐量图形显示_Jmeter系列(43)- 详解 Jmeter 图形化 HTML 压测报告之 Charts 模块...
  7. 关闭、刷新、跳转、离开当前网页前提示
  8. 解决微信H5获取SDK授权报错提示errMsg: “config:fail,Error: 系统错误,错误码:63002,invalid signature [20200908 22:17:17][]“
  9. 在Ubuntu 16.04.6 LTS升级python 3.5.x到3.7.3之后导致gnome-ternimal无法打开的解决办法
  10. 对Squid使用的一些总结