乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > js怎么读取<em>excel</em>表格的数据和导入导出-excel js控件,excel控

js怎么读取<em>excel</em>表格的数据和导入导出-excel js控件,excel控

作者:乔山办公网日期:

返回目录:excel表格制作


js怎么获取 excel的数据
在一个html页面生成的时候,js就已经把dom树创建好了
只要这棵树上有的数据,我们都可以通过js来获取使用
那么这个问题就变成js如何去查询dom树的节点了
js内置了以下几个查询节点的方法
document.getElementById("id") //通过id来获取一个dom元素
document.getElementsByName("name") //通过name属性来获取一个集合
document.getElementsByTagName("tag") //通过标签来e799bee5baa6e79fa5e98193e4b893e5b19e333获取一个集合
如果要查找的元素本身有id,通过第一个方法可以直接获取,当我们得到了这个dom节点的时候就可以输出他的一系列数据了
举个栗子
var dom = document.getElementById("id");
//如果是图片
alert(dom.src);
//如果该dom有class
alert(dom.className);
//如果该dom有value
alert(dom.value);
//如果该dom有文本
alert(dom.innerHTML);
//输出dom的style
alert(dom.style.width);
//等等
当dom没有id的时候,我们就要依靠一些条件去找到我们想要的dom了
//寻找所有class为bold的div
var c = document.getElementsByTagName("div"), len = c.length, r = [];
for(var i=0;i<len;i++){
if(c[i].className == 'bold'){
r.push(c[i]);
}
}
//当得到了这些dom节点后,就可以用上面提到的方法继续访问每个dom的数据啦

http://www.jb51.net/article/43681.htm

明确得说,不用ActiveXObject是不可能的,而且用ActiveXObject还很麻烦,问题又多

建议采用以下方案:

先用 poi 或者  jxl 将excel 内容读取出来,显示在zd页面上

这个方案必须把页面做成跟excel打印出来的页面风格很像,像到以假乱真,让客户看不出来,这样的话客户以为是直接用excel来预览,效果做到争取跟excel打印出来一模一样。这样做

  • 满足了客户的需求,客户才不管你是不是真的用excel来预览,他只关心预览的样子是不是跟最后打印出来的一样

  • 你也实现了功能



一。导出Excel有两种:
1.
function ExportExcel(tableid){//读取表格中每个单元到EXCEL中
try
{
var curTbl = document.getElementById(tableid);
var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel
var oWB = oXL.Workbooks.Add(); //获取workbook对象
var oSheet = oWB.ActiveSheet; //激活e799bee5baa6e997aee7ad94e58685e5aeb9362当前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可见属性
}
catch(e)
{
alert(e.message);
}
}
2:
function dataToExcel(tableid) {//整个表格拷贝到EXCEL中
var curTbl = document.getElementById(tableid);
var oXL;
try {
oXL = GetObject("", "Excel.Application");
}
catch (E) {
try {
oXL = new ActiveXObject("Excel.Application");
}
catch (E2) {
//alert("Please confirm:\n1.Microsoft Excel has been installed.\n2.Internet Options=>Security=>Setting \"Enable unsafe ActiveX\"");
alert("请确认:\n1.机器上Excel已经安装.\n2.Internet 选项=>安全=>Internet \"对没有标记为安全的ActiveX控件进行初始化和脚本运行,设定为启用\"");
return;
}
}
//创建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可见属性
}

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网