js解析excel表格

JavaScript06

js解析excel表格,第1张

https://www.cnblogs.com/liuxianan/p/js-excel.html

由 SheetJS 出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库,功能强大,支持格式众多,支持xls、xlsx、ods(一种OpenOffice专有表格文件格式)等十几种格式。本文全部都是以xlsx格式为例。

dist目录下有很多个JS文件,一般情况下用xlsx.core.min.js就够了,xlsx.full.min.js则是包含了所有功能模块。

JavaScript读取和导出excel示例(基于js-xlsx)

http://demo.haoji.me/2017/02/08-js-xlsx/

获取行/列

var colcount=wb.Worksheets(1).UsedRange.Cells.Rows.Count

var colcolumn=wb.Worksheets(1).UsedRange.Columns.Count

读取本地Excel文件内容的Javascript代码:

<script type="text/javascript">

function read_excel(){

var filePath="D:\abcd9.com.xls"//要读取的xls

var sheet_id=2//读取第2个表

var row_start=3//从第3行开始读取

var tempStr=''

try{

var oXL = new ActiveXObject("Excel.application")//创建Excel.Application对象

}catch(err)

{

alert(err)

}

var oWB = oXL.Workbooks.open(filePath)

oWB.worksheets(sheet_id).select()

var oSheet = oWB.ActiveSheet

var colcount=oXL.Worksheets(sheet_id).UsedRange.Cells.Rows.Count

for(var i=row_starti<=colcounti++){

if (typeof(oSheet.Cells(i,8).value)=='date'){ //处理第8列部分单元格内容是日期格式时的读取问题

d= new Date(oSheet.Cells(i,8).value)

temp_time=d.getFullYear()+"-"+(d.getMonth() + 1)+"-"+d.getDate()

}

else

temp_time=$.trim(oSheet.Cells(i,7).value.toString())

tempStr+=($.trim(oSheet.Cells(i,2).value)+" "+$.trim(oSheet.Cells(i,4).value)+" "+$.trim(oSheet.Cells(i,6).value.toString())+" "+temp_time+"\n")

//读取第2、4、6、8列内容

}

return tempStr//返回

oXL.Quit()

CollectGarbage()

}

</script>

js怎么获取 excel的数据

在一个html页面生成的时候,js就已经把dom树创建好了

只要这棵树上有的数据,我们都可以通过js来获取使用

那么这个问题就变成js如何去查询dom树的节点了

js内置了以下几个查询节点的方法

document.getElementById("id")//通过id来获取一个dom元素

document.getElementsByName("name")//通过name属性来获取一个集合

document.getElementsByTagName("tag")//通过标签来获取一个集合

如果要查找的元素本身有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=0i<leni++){

if(c[i].className == 'bold'){

r.push(c[i])

}

}

//当得到了这些dom节点后,就可以用上面提到的方法继续访问每个dom的数据啦