可以查下EXCEL的安装目录下的执行文件位置。
与另外一台正常的电脑对比就能查出来。
如果实在不好查,可以点下帮助里的重新修复OFFIC软件。
假设你的XML文件在js中的变量名为 xmldoc,并且已经成功读取试题信息首先,你能根据页面上标签组装好XML数据流,或者在用户修改操作的时候,将修改的结果即时反应到xmldoc上相应的节点也可以
更改xml节点的操作,首先通过XPath找到节点(node),在通过节点(node)操作node.setAttribute(attrName, value)
4
然后,直接将xmldoc提交给服务端保存就可以了
这个是我用的代码:
if (!window.ActiveXObject) {
Element.prototype.selectNodes = function(sXPath) {
var oEvaluator = new XPathEvaluator()
var oResult = oEvaluator.evaluate(sXPath, this, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null)
var aNodes = new Array()
if (oResult != null) {
var oElement = oResult.iterateNext()
while(oElement) {
aNodes.push(oElement)
oElement = oResult.iterateNext()
}
}
return aNodes
}
Element.prototype.selectSingleNode = function(sXPath) {
var oEvaluator = new XPathEvaluator()
// FIRST_ORDERED_NODE_TYPE returns the first match to the xpath.
var oResult = oEvaluator.evaluate(sXPath, this, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null)
if (oResult != null) {
return oResult.singleNodeValue
} else {
return null
}
}
}
function XMLDocument() {
var xmlDoc = null
if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
} else if (document.implementation &&document.implementation.createDocument){
// code for Mozilla, Firefox, Opera, etc.
xmlDoc=document.implementation.createDocument("","",null)
} else {
alert('Your browser cannot handle this script')
}
xmlDoc.async=false
return xmlDoc
}
function selectSingleNode(xmlDoc, elementPath) {
if(window.ActiveXObject) {
return xmlDoc.selectSingleNode(elementPath)
} else {
var xpe = new XPathEvaluator()
var nsResolver = xpe.createNSResolver( xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement)
var results = xpe.evaluate(elementPath,xmlDoc,nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE, null)
return results.singleNodeValue
}
}
/*
//var ret = xmlDoc.loadXML("<?xml version=\"1.0\" encoding = \"GB2312\" ?><html>sdfasdfasdf</html>")
//var d = xmlDoc.load(fileName)
var xmlDoc = new XMLDocument()
var s = xmlDoc.loadXML('<t>dsadf</t>')
if( s ) {
var elements = xmlDoc.getElementsByTagName('t')
var element = elements[0]
var newElement = xmlDoc.createElement('DIV')
element.appendChild(newElement)
newElement.text = 'newdivs'
xmlDoc.save('C:\\im.xml')
}
*/
回楼下的朋友,我再前面已经说过提交给服务端,下面的代码只是用来参考,浏览器肯定是没有写权限的
用JS操作XML,对客户端来说只有读取的权限如果需要对XML文件进行修改保存操作,就要用FSO<script type="text/javascript">function go(){var thebook,root,theelem
var xmldoc=new ActiveXObject("Msxml2.DOMDocument.4.0")
xmldoc.async=false
xmldoc.load("C:\\test.xml")
root=xmldoc.documentElement
// alert(xmldoc.xml)
thebook=xmldoc.createElement("book")
// thebook.setAttribute("id" "15")
theelem=xmldoc.createElement("name")
theelem.text="xinshu"
thebook.appendChild(theelem)
theelem=xmldoc.createElement("price")
theelem.text="20"
thebook.appendChild(theelem)
theelem=xmldoc.createElement("momo")
theelem.text="very good!"
thebook.appendChild(theelem)
root.appendChild(thebook)
// alert(xmldoc.xml)thebook=root.selectSingleNode("/books/book[name='xinshu']")
thebook.setAttribute("id","15")
// alert(xmldoc.xml)
thebook=root.selectSingleNode("/books/book[name='哈里波特']")
thebook.childNodes[1].text="20"
thebook.setAttribute("id","25")
// alert(root.xml)
thebook.parentNode.removeChild(thebook)
alert(xmldoc.xml)
var somebook=root.selectNodes("/books/book[price<10]")
// alert(somebook.xml)
somebook.removeAll()
alert(xmldoc.xml)
xmldoc.loadXML(xmldoc.xml)
xmldoc.save("C:\\test.xml") //会提示权限不足..其实我在想 既然DOM给出了这个方法必然有它的用途,但是目前还没发现它在哪能用到 . 试过多个地方使用 都会出现权限问题 可能是JS本身的限制
// var fso, tf //使用JSO必须安装个插件
// fso = new ActiveXObject("Scripting.FileSystemObject")
// 创建新文件
// tf = fso.CreateTextFile("c:\\testfile.xml", true)
// 填写数据,并增加换行符
// tf.WriteLine("Testing 1, 2, 3.")
// 增加3个空行
// tf.WriteBlankLines(3)
// 填写一行,不带换行符
// tf.Write (xmldoc.xml)
// 关闭文件
// tf.Close()
}
</script>其它参考:http://www.68design.net/Web-Guide/HTMLCSS/9335-1.html