javascript中如何实现将统计表格保存成excel文件

JavaScript022

javascript中如何实现将统计表格保存成excel文件,第1张

单纯的前端 JavaScript 库暂时还没有这么强大的功能,必须调用本地应用程序接口才能实现。

如果安装了 Excel 软件,就可以在 Internet Explorer 浏览器中调用 ActiveX。下面举一个例子。

try{

    var excel=new ActiveXObject("Excel.Application")

    var book=excel.Workbooks.open("C:/example.xls")

    var sheet=book.Worksheets(1)

    //...

}

catch(err){

    //...

    return false

}

jquery和js都属于客户端脚本,不能直接执行excel或word。

你只能通过js的ajax方式将页面中的数据异步提交给java后台处理页中,然后由java来执行对excel或word数据的导入!在此js只能算是数据的搬运工,而真正做导入的事情还是有java这个后台语言来进行操作!

说这么多也就是想让你明白js是属于客户端脚本,它是不能操作excel或word的

var idTmr

function method1() {//整个表格拷贝到EXCEL中

var curTbl =document.getElementById("Collect")

var oXL = new ActiveXObject("Excel.Application")

//创建AX对象excel

var oWB = oXL.Workbooks.Add()

//获取workbook对象

var xlsheet = oWB.Worksheets(1)

//激活当前sheet

var sel = document.body.createTextRange()

sel.moveToElementText(curTbl)

//把表格中的内容移到TextRange中

sel.select()

//全选TextRange中内容

sel.execCommand("Copy")

//复制TextRange中内容

xlsheet.Paste()

//粘贴到活动的EXCEL中

oXL.Visible = true

//设置excel可见属性

try {

var fname = oXL.Application.GetSaveAsFilename("将Table导出到Excel.xls", "Excel Spreadsheets (*.xls), *.xls")

} catch (e) {

print("Nested catch caught " + e)

} finally {

oWB.SaveAs(fname)

oWB.Close(savechanges = false)

//xls.visible = false

oXL.Quit()

oXL = null

idTmr = window.setInterval("Cleanup()", 1)

}

}

function Cleanup() {

window.clearInterval(idTmr)

CollectGarbage()

}