我在 GrapeCity 工作,是他们支持 SpreadJS 的技术参与工程师之一。要执行您所描述的操作,您必须在加载工作簿后加载工作表,下面是显示如何执行此操作的示例。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="http://cdn.grapecity.com/spreadjs/hosted/css/gc.spread.sheets.excel2013white.12.0.7.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://cdn.grapecity.com/spreadjs/hosted/scripts/gc.spread.sheets.all.12.0.7.min.js"></script>
<script type="text/javascript" src="http://cdn.grapecity.com/spreadjs/hosted/scripts/interop/gc.spread.excelio.12.0.7.min.js"></script>
<script type="text/javascript">
var spread = null;
window.onload = function() {
spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
}
var excelIO = new GC.Spread.Excel.IO();
var s = null;
var sheets = null;
function loadFile () {
s = new Date().getTime();
var excelFile = document.getElementById("fileDemo").files[0];
if (!excelFile) {
console.log('please pick a file ......');
return;
}
console.log('loading workbook ... ' + excelFile.name);
excelIO.open(excelFile, function (json) {
spread.suspendPaint();
sheets = json.sheets;
json.sheets = {};
for (var sheetName in sheets) {
if (sheets.hasOwnProperty(sheetName)) {
var sheetJSON = sheets[sheetName];
json.sheets[sheetName] = {name: sheetName, columnCount: sheetJSON.columnCount, rowCount: sheetJSON.rowCount};
}
}
spread.fromJSON(json, {doNotRecalculateAfterLoad:true});
spread.resumePaint();
});
}
function loadSheet() {
var sheet = spread.getActiveSheet();
loadSheetFromJSON(sheet.name());
}
function loadSheetFromJSON(sheetName) {
var sheet = spread.sheets.find(function(s){ return s.name() === sheetName});
if (sheet) {
spread.suspendPaint();
sheet.fromJSON(sheets[sheet.name()]);
spread.resumePaint();
}
}
</script>
</head>
<body>
<div id="ss" style="width:100%;height:600px;border:1px solid grey"></div>
<div id="msg" style="width:100%;height:100px; margin-top: 10px; margin-bottom: 10px; border:1px solid gray"></div>
<input type="file" name="files[]" id="fileDemo" accept=".xlsx,.xlsm" />
<input type="button" id="button1" value="Import Excel" onclick="loadFile()" />
<input type="button" id="btnCalc" value="Load Sheet" onclick="loadSheet()" />
</body>
</html>
如果您有任何其他问题,请随时在 GrapeCity 的网站上与 SpreadJS 的支持团队联系。
最好的,麦肯齐