你好,試了下,还是需要協助,請幫忙
<div class="down-page">
<!-- b) 创建SpreadJS的目标DOM元素,id为ss的HTML DIV-->
<div id="ss" class="spread-container"></div>
<div id="ss_import" class="spread-container" style="display:none"></div>
<div class="options-container" style="display: none">
<div class="option-row">
<div class="inputContainer">
<button class="settingButton" id="open">Open</button>
<div class="open-options"></div>
</div>
<div class="inputContainer">
<label for="fileType">FileType:</label>
<select id="saveFileType">
<option value="xlsx">Excel</option>
<option value="csv">Csv</option>
</select>
<div class="save-options"></div>
</div>
</div>
</div>
</div>
const designer = new GC.Spread.Sheets.Designer.Designer('ss', config);
const spread = designer.getWorkbook();
const designer_import = new GC.Spread.Sheets.Designer.Designer('ss_import', config);
const spread_import = designer_import.getWorkbook();
document.getElementById('selectedFile01').onchange = function () {
var file = document.querySelector('#selectedFile01').files[0];
if (!file) {
return;
}
document.getElementById('txt_ImportExcel').innerHTML = file.name;
var fileType = getFileType(file);
var options = getOptions('open');
//spread.import(file, function () { }, function () { }, options);
spread_import.import(file, function () {
//spread_import 資料轉出json
for (var i = 0; i < spread_import.getSheetCount(); i++) {
var ls_SheetName = spread_import.getSheet(i).name();
//檢查現有的Sheet是否已存在,若存在先改名
for (var j = 0; j < spread.getSheetCount(); j++) {
var ls_OrgSheetName = spread.getSheet(j).name();
if (ls_SheetName == ls_OrgSheetName) {
var myDate = new Date();
var ls_Tmp = myDate.getFullYear().toString() + (myDate.getMonth() + 1).toString() + myDate.getDate().toString()
+ "_" + myDate.getHours().toString() + myDate.getMinutes().toString() + myDate.getSeconds().toString();
var ls_OrgSheetName_new = ls_OrgSheetName + '_' + ls_Tmp;
spread.commandManager().execute({ cmd: "renameSheet", sheetName: ls_OrgSheetName, name: ls_OrgSheetName_new });
alert('Sheet [ ' + ls_OrgSheetName + ' ] Repeat! the orginal sheet renamed [ ' + ls_OrgSheetName_new + ' ].');
}
}
var copiedWorkbook = removeOtherWorksheet(spread_import, ls_SheetName);
importSsjsonA(spread, copiedWorkbook);
}
return;
}, function () {
}, options);
};
function removeOtherWorksheet(spread, sheetName) {
var copiedWorkbook = new GC.Spread.Sheets.Workbook();
copiedWorkbook.fromJSON(spread.toJSON());
var sheetNames = [];
for (var i = 0; i < copiedWorkbook.getSheetCount(); i++) {
if (copiedWorkbook.getSheet(i).name() !== sheetName) {
sheetNames.push(copiedWorkbook.getSheet(i).name());
}
}
console.log('sheetNames: ', sheetNames);
sheetNames.forEach(curSheetName => {
if (curSheetName !== sheetName) {
console.log('remove sheet: ', curSheetName, ', index: ', copiedWorkbook.getSheetIndex(curSheetName));
copiedWorkbook.removeSheet(copiedWorkbook.getSheetIndex(curSheetName));
}
});
console.log('剩余的Worksheet: ');
for (var i = 0; i < copiedWorkbook.getSheetCount(); i++) {
console.log(copiedWorkbook.getSheet(i).name());
}
return copiedWorkbook;
}
function importSsjsonA(spread, copiedWorkbook) {
//console.log('enter import ssjson: ', workbookJSON);
//var copiedWorkbook = new GC.Spread.Sheets.Workbook();
//copiedWorkbook.fromJSON(workbookJSON);
var copiedWorksheet = new GC.Spread.Sheets.Worksheet();
copiedWorksheet.fromJSON(copiedWorkbook.getSheet(0).toJSON());
var namedStyles = copiedWorkbook.getNamedStyles();
if (namedStyles) {
namedStyles.forEach(namedStyle => copiedWorksheet.addNamedStyle(namedStyle));
}
console.log('ready add sheet');
console.log('copiedWorksheet.name = ', copiedWorksheet.name());
spread.addSheet(spread.getSheetCount(), copiedWorksheet);
spread.setActiveSheetIndex(spread.getSheetCount() - 1);
console.log('finished add sheet');
} |