複数のシートからリアルタイムに検索する(改良版)

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>複数のシートからリアルタイムに検索する(改良版)</title>
<link rel="stylesheet" href="main.css" type="text/css">
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="Lib_Excel.js"></script>
<script type="text/javascript"><!--
function findXMLFile()
{
var findName = $F("itemName"); // 検索キーワード読み出し
var resultData = "";
var sheetCount = getWorkSheetCount(xmlObj); // シート総数読み出し
for (var sheetNo=0; sheetNo<sheetCount; sheetNo++)
{
var sheetName = getWorkSheetName(xmlObj, sheetNo); // 検索するシート名
var wsObj = getWorkSheet(xmlObj, sheetName);
var w = getWorkSheetColCount(wsObj);
var h = getWorkSheetRowCount(wsObj);
resultData += "<table border='1' cellspacing='0'>";
for (var posY=0; posY<h; posY++)
{
var cellText = getCellData(xmlObj,sheetName,0,posY);
if (cellText.match(findName))
{
resultData += "<tr>";
for (var posX=0; posX<w; posX++)
{
var n = getCellData(xmlObj,sheetName,posX,posY);
resultData += "<td>"+n +"</td>";
}
resultData += "</tr>";
}
}
resultData += "</table>";
}
$("result").innerHTML = resultData;
}
function dataCache()
{
var filename = "fruits.xml?cache="+(new Date()).getTime();
new Ajax.Request(filename, { method: "get",
onComplete: function(httpObj){
xmlObj = httpObj.responseXML; // 取得したXMLデータを格納
}
});
}
window.onload = dataCache;
// --></script>
</head>
<body>
<h1>複数のシートからリアルタイムに検索する(改良版)</h1>
<form>
<input type="text" value="と" id="itemName" onkeyup="findXMLFile()">
</form>
<div id="result"></div>
</body>
</html>
・サンプルを実行する
実践Web2.0 Ajax プログラミング入門 説明などは本書を参考にしてください。