EXCELのXMLデータを表示する

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>ExcelのXMLデータを表示する (Win/Mac)</title>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript"><!--
function loadDataFile(fName)
{
new Ajax.Request(fName, { method: 'get', onComplete: displayData });
}
function displayData(httpObj)
{
$("result").innerHTML = parseExcelXML(httpObj.responseXML);
}
// ExcelのXMLデータを解析して表示 (DOM Tree)
function parseExcelXML(excelXML)
{
var wsObj = excelXML.getElementsByTagName("Worksheet");
for (var i=0; i<wsObj[0].childNodes.length; i++)
{
if (wsObj[0].childNodes[i].tagName == "Table")
{
var tableTag = wsObj[0].childNodes[i];
break;
}
}
var result = "<table border='1' bordercolor='black'>";
for (var h=0; h<tableTag.childNodes.length; h++)
{
if (tableTag.childNodes[h].tagName == "Row" ) // ■Rowタグか?
{
result += "<tr>";
var rowObj = tableTag.childNodes[h];
for (var w=0; w<rowObj.childNodes.length; w++)
{
if (rowObj.childNodes[w].tagName == "Cell") // ■Cellタグか?
{
var cellObj = rowObj.childNodes[w];
for (var cnt=0; cnt<cellObj.childNodes.length; cnt++)
{
if (cellObj.childNodes[cnt].tagName == "Data") // ■Dataタグか?
{
var n = cellObj.childNodes[cnt].childNodes[0].nodeValue;
result += "<td>"+n+ "</td>";
}
}
}
}
result += "</tr>";
}
}
result += "</table>";
return result;
}
// --></script>
</head>
<body>
<h1>ExcelのXMLデータを表示する (Win/Mac)</h1>
<form>
<input type="button" value="sample.xml (Mac) を読み込む" onClick="loadDataFile('sample_mac.xml')">
<input type="button" value="sample.xml (Win) を読み込む" onClick="loadDataFile('sample_win.xml')">
</form>
<div id="result"></div>
</body>
</html>

・サンプルを実行する
Ajax逆引きクイックリファレンス 説明などは本書を参考にしてください。