本帖最后由 470539167 于 2019-5-29 11:58 编辑
我今天看粘贴的功能,可以正常粘贴,代码如下,
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Document</title>
- <link rel="stylesheet"
- href="https://demo.grapecity.com.cn/SpreadJS/cdn/v10/Spread.Sheets.Evaluation.10.3.3/css/gc.spread.sheets.excel2013white.10.3.3.css">
- <script
- src="https://demo.grapecity.com.cn/SpreadJS/cdn/v10/Spread.Sheets.Evaluation.10.3.3/scripts/gc.spread.sheets.all.10.3.3.min.js"></script>
- <style>
- .sample-tutorial {
- position: relative;
- height: 100%;
- overflow: hidden;
- }
- .sample-spreadsheets {
- width: calc(100% - 280px);
- height: 100%;
- overflow: hidden;
- float: left;
- }
- .options-container {
- float: right;
- width: 280px;
- padding: 12px;
- height: 100%;
- box-sizing: border-box;
- background: #fbfbfb;
- overflow: auto;
- }
- .sample-options {
- z-index: 1000;
- }
- .inputContainer {
- width: 100%;
- height: auto;
- border: 1px solid #eee;
- padding: 6px 12px;
- margin-bottom: 10px;
- box-sizing: border-box;
- }
- .input {
- font-size: 14px;
- height: 20px;
- border: 0;
- outline: none;
- background: transparent;
- }
- .button {
- height: 30px;
- padding: 6px 12px;
- width: 80px;
- margin-top: 6px;
- }
- .group {
- padding: 12px;
- }
- .group input {
- padding: 4px 12px;
- }
- </style>
- </head>
- <body>
- <div class="sample-tutorial">
- <div id="aa" class="sample-spreadsheets"></div>
- <div id="bb" class="sample-spreadsheets"></div>
- <div class="options-container">
- <div class="option-row">
- <div class="inputContainer">
- <input type="button" id="paste" value="粘贴" class="button">
- </div>
- </div>
- </div>
- </div>
- <script>
- window.onload = function () {
- var spreadAA = new GC.Spread.Sheets.Workbook(document.getElementById("aa"));
- var spreadBB = new GC.Spread.Sheets.Workbook(document.getElementById("bb"));
- var sheetAA = spreadAA.getActiveSheet();
- sheetAA.setValue(0, 0, 1, GC.Spread.Sheets.SheetArea.viewport);
- sheetAA.setValue(1, 0, 2, GC.Spread.Sheets.SheetArea.viewport);
- sheetAA.setFormula(2, 0, "=A1+A2", GC.Spread.Sheets.SheetArea.viewport);
- sheetAA.setValue(0, 1, 3, GC.Spread.Sheets.SheetArea.viewport);
- sheetAA.setValue(1, 1, 4, GC.Spread.Sheets.SheetArea.viewport);
- sheetAA.setFormula(2, 1, "=B1+B2", GC.Spread.Sheets.SheetArea.viewport);
- var fromRange = [new GC.Spread.Sheets.Range(0, 0, 3, 2)];
- var toRanges = [new GC.Spread.Sheets.Range(5, 0, 3, 2)];
- document.getElementById('paste').onclick = function () {
- var sheetAA = spreadAA.getActiveSheet();
- var sheetAA = spreadAA.getActiveSheet();
- spreadAA.commandManager().execute({
- cmd: "clipboardPaste",
- sheetName: sheetAA.name(),
- fromSheet: sheetAA,
- fromRanges: fromRange,
- pastedRanges: toRanges,
- isCutting: false,
- clipboardText: "",
- pasteOption: GC.Spread.Sheets.ClipboardPasteOptions.all
- });
- }
- };
- </script>
- </body>
- </html>
复制代码 然后我就想在workerAA中能不能粘贴到workerBB中呢,我修改了下代码,粘贴的区域是有的但是数据没有了,这是怎么回事呢,cmd的clipboardPaste具体是怎么实现的呢,我要怎么修改才能同时把数据等全粘贴过去呢。代码如下:
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Document</title>
- <link rel="stylesheet"
- href="https://demo.grapecity.com.cn/SpreadJS/cdn/v10/Spread.Sheets.Evaluation.10.3.3/css/gc.spread.sheets.excel2013white.10.3.3.css">
- <script
- src="https://demo.grapecity.com.cn/SpreadJS/cdn/v10/Spread.Sheets.Evaluation.10.3.3/scripts/gc.spread.sheets.all.10.3.3.min.js"></script>
- <style>
- .sample-tutorial {
- position: relative;
- height: 100%;
- overflow: hidden;
- }
- .sample-spreadsheets {
- width: calc(100% - 280px);
- height: 100%;
- overflow: hidden;
- float: left;
- }
- .options-container {
- float: right;
- width: 280px;
- padding: 12px;
- height: 100%;
- box-sizing: border-box;
- background: #fbfbfb;
- overflow: auto;
- }
- .sample-options {
- z-index: 1000;
- }
- .inputContainer {
- width: 100%;
- height: auto;
- border: 1px solid #eee;
- padding: 6px 12px;
- margin-bottom: 10px;
- box-sizing: border-box;
- }
- .input {
- font-size: 14px;
- height: 20px;
- border: 0;
- outline: none;
- background: transparent;
- }
- .button {
- height: 30px;
- padding: 6px 12px;
- width: 80px;
- margin-top: 6px;
- }
- .group {
- padding: 12px;
- }
- .group input {
- padding: 4px 12px;
- }
- </style>
- </head>
- <body>
- <div class="sample-tutorial">
- <div id="aa" class="sample-spreadsheets"></div>
- <div id="bb" class="sample-spreadsheets"></div>
- <div class="options-container">
- <div class="option-row">
- <div class="inputContainer">
- <input type="button" id="paste" value="粘贴" class="button">
- </div>
- </div>
- </div>
- </div>
- <script>
- window.onload = function () {
- var spreadAA = new GC.Spread.Sheets.Workbook(document.getElementById("aa"));
- var spreadBB = new GC.Spread.Sheets.Workbook(document.getElementById("bb"));
- var sheetAA = spreadAA.getActiveSheet();
- sheetAA.setValue(0, 0, 1, GC.Spread.Sheets.SheetArea.viewport);
- sheetAA.setValue(1, 0, 2, GC.Spread.Sheets.SheetArea.viewport);
- sheetAA.setFormula(2, 0, "=A1+A2", GC.Spread.Sheets.SheetArea.viewport);
- sheetAA.setValue(0, 1, 3, GC.Spread.Sheets.SheetArea.viewport);
- sheetAA.setValue(1, 1, 4, GC.Spread.Sheets.SheetArea.viewport);
- sheetAA.setFormula(2, 1, "=B1+B2", GC.Spread.Sheets.SheetArea.viewport);
- var fromRange = [new GC.Spread.Sheets.Range(0, 0, 3, 2)];
- var toRanges = [new GC.Spread.Sheets.Range(5, 0, 3, 2)];
- document.getElementById('paste').onclick = function () {
- var sheetAA = spreadAA.getActiveSheet();
- var sheetBB = spreadBB.getActiveSheet();
- spreadBB.commandManager().execute({
- cmd: "clipboardPaste",
- sheetName: sheetBB.name(),
- fromSheet: sheetAA,
- fromRanges: fromRange,
- pastedRanges: toRanges,
- isCutting: false,
- clipboardText: "",
- pasteOption: GC.Spread.Sheets.ClipboardPasteOptions.all
- });
- }
- };
- </script>
- </body>
- </html>
复制代码 效果图
|
|