单纯的前端 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 idTmrfunction 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()
}