<!--
* @Author: 胡思艳
* @Date: 2022-10-13 16:44:00
* @LastEditTime: 2022-10-13 17:07:48
* @LastEditors: 胡思艳
* @Description:
* @FilePath: \合并spread&sheet\合并Spread&sheet.html
-->
<html>
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="resources/gc.spread.sheets.excel2013white.14.0.10.css">
<script src="https://cdn.grapecity.com.cn/spreadjs/scripts/jquery-1.11.1.min.js" type="text/javascript"></script>
<script src="resources/js/gc.spread.sheets.all.14.0.8.min.js" type="text/javascript"></script>
<script src="resources/js/gc.spread.excelio.14.0.8.min.js" type="text/javascript"></script>
<script src="resources/js/gc.spread.sheets.print.14.0.8.min.js" type="text/javascript"></script>
<script src="resources/js/gc.spread.sheets.pdf.14.0.8.min.js" type="text/javascript"></script>
<script src="resources/js/gc.spread.sheets.resources.zh.14.0.8.min.js" type="text/javascript"></script>
<script src="https://cdn.grapecity.com.cn/spreadjs/scripts/FileSaver.min.js" type="text/javascript"></script>
<!-- <script src="resources/hbtest1.js" type="text/javascript"></script>
<script src="resources/hbtest2.js" type="text/javascript"></script> -->
<script src="resources/data1.js" type="text/javascript"></script>
<script src="resources/data2.js" type="text/javascript"></script>
<style>
.sample-tutorial {
position: relative;
height: 100%;
overflow: hidden;
}
.sample-spreadsheets {
width: calc(100% - 280px);
height: 100%;
overflow: hidden;
float: left;
}
</style>
</head>
<body>
<div class="sample-tutorial">
<div id="ss" class="sample-spreadsheets"></div>
<div id="temp" class="sample-spreadsheets"></div>
</div>
<script>
$(document).ready(function () {
// 创建空表单
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
// 这里的data是从后台获取的
var sheets = []
let rowList = [5, 15, 26, 10] //这里也是后台获取的
var jsonData = [data1, data2, data3, data4];
var sheetCount = datas.length
for (let i = 0; i < sheetCount; i++) {
sheets.push(spread.sheets)
}
for (var i = 0; i < sheets.length; i++) {
var item = jsonData;
item = JSON.parse(item);
spread.fromJSON(item);
var sheet = spread.getActiveSheet()
spread.addNamedStyle(list[2].namedStyle);
sheetList.push(sheet)
sheetJSON = sheet.toJSON();
jsonString.push(JSON.stringify(sheetJSON))
allSheets.push(sheetJSON);
}
for (var i = 0; i < allSheets.length; i++) {
var
sheet = spread.getSheet(i);
if (!sheet) {
spread.addSheet();
sheet = spread.getSheet(i);
}
sheetJSON = allSheets;
sheet.fromJSON(sheetJSON);
}
var workbook = spread
let sheetAll = []
let newArr = []
//新增一个newSheet,用来放拼接后的表单
var newSheet = new GC.Spread.Sheets.Worksheet("new sheet");
let sheetName = newSheet.name()
workbook.addSheet(workbook.getSheetCount(), newSheet);
workbook.options.allowExtendPasteRange = true; //如果设置为true,当粘贴区域不够时会扩展粘贴区域
rowList.unshift(0)
for (let i = 0; i < rowList.length; i++) {
let s = 0
for (let j = 0; j <= i; j++) {
s += Number(rowList[j])
}
newArr.push(s)
}
for (var i = 0; i < allSheets.length; i++) {
var getSheet = workbook.getSheet(i);
sheetAll.push(getSheet)
// newSheet.fromJSON(JSON.parse(jsonSheet));
}
console.log(allSheets, 'allSheets.');
console.log(sheetAll, 'sheetAll');
for (let i = 0; i < allSheets.length; i++) {
var fromRange2 = [new GC.Spread.Sheets.Range(-1, -1, -1, -1)];
var toRange2 = [new GC.Spread.Sheets.Range(newArr, 0)];
workbook.commandManager().execute({
cmd: "clipboardPaste",
sheetName: sheetName,
fromSheet: sheetAll,
fromRanges: fromRange2,
pastedRanges: toRange2,
isCutting: false,
clipboardText: "",
pasteOption: GC.Spread.Sheets.ClipboardPasteOptions.all
});
}
for (let i = 0; i < sheetAll.length; i++) {
// spread.removeSheet(0)
}
});
</script>
</body>
</html> |