找回密码
 立即注册

QQ登录

只需一步,快速开始

runergy

中级会员

83

主题

152

帖子

643

积分

中级会员

积分
643
runergy
中级会员   /  发表于:2023-4-26 10:39  /   查看:3488  /  回复:11
本帖最后由 Lynn.Dou 于 2023-5-5 09:11 编辑

image.png812260131.png
image.png945708312.png

11 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-26 13:46:31
沙发
您好,
删除时右侧单元格左移 等属于designer的功能,SpreadJS并没有相关接口。
designer封装了 Designer.deleteLeftCells 命令,参考下方代码:
spread.commandManager().execute({cmd:"Designer.deleteLeftCells",sheetName:"Sheet1", selections:spread.getActiveSheet().getSelections()});
注意selection要传递正确。
附件为示例demo,供参考。

demo-designer模板 - V16.0.6.html

3.73 KB, 下载次数: 223

回复 使用道具 举报
runergy
中级会员   /  发表于:2023-4-26 15:43:20
板凳
只能用getSelections嘛,getrange可以嘛
回复 使用道具 举报
runergy
中级会员   /  发表于:2023-4-26 16:24:29
地板
runergy 发表于 2023-4-26 15:43
只能用getSelections嘛,getrange可以嘛

我在vue中用了相同的方法,可以取到getSelections的信息,但是就是删除不了。
image.png864678649.png
<template>
  <div>
    <button @click="deleteLeftCells">右侧单元格左移</button>
    <div id="excebox" class="excebox"></div>
  </div>
</template>

<script>
import Vue from "vue";
import '@grapecity/spread-sheets-resources-zh';
GC.Spread.Common.CultureManager.culture("zh-cn");
import "@grapecity/spread-sheets-vue";
import GC from "@grapecity/spread-sheets";
export default {
  mounted() {
        const spread = new GC.Spread.Sheets.Workbook(
                document.getElementById("excebox"), {
                        sheetCount: 1 //sheet的页数
                }
        );

    const sheet = spread.getActiveSheet();
    sheet.setValue(1, 1, 1);
    sheet.setValue(1, 2, 2);
    sheet.setValue(1, 3, 3);
    sheet.setSelection(1, 2, 1, 1);
    this.spread = spread;
  },
  methods: {
    deleteLeftCells() {
      this.spread.commandManager().execute({
        cmd: "deleteLeftCells",
        sheetName: "Sheet1",
        selections: this.spread.getActiveSheet().getSelections(),
      });
    },
  },
};
</script>


回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-26 16:53:20
5#
您仔细看下示例代码,cmd应为 ”Designer.deleteLeftCells“,并且前面有提到,这是designer的功能,SpreadJS原生上并没有此接口,所以需要引入designer的相关资源。
回复 使用道具 举报
runergy
中级会员   /  发表于:2023-4-26 18:40:30
6#
使用 Designer 后有工具栏,如何隐藏工具栏部分
image.png62086180.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-27 09:36:46
7#
通过css方式修改工具栏dom的display为none,示例如下:
  1. .gc-designer-container .ribbon {
  2.             display: none;
  3.         }
复制代码

公示栏部分同理
回复 使用道具 举报
runergy
中级会员   /  发表于:2023-5-4 16:20:28
8#
使用下方单元格上移,使用方法为   spread.commandManager().execute({
                                                                cmd: "Designer.deleteUpCells",
                                                                sheetName: "电池片库存分析-悦达",
                                                                selections: sheet2.getSelections()
                                                        });但是结果删除行数过多时,删除的行会串行,
下面使用菜单的功能也是一样的效果,会串行。
如何解决这个问题

image.png379981078.png image.png21510924.png image.png905586242.png

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-5-4 16:26:41
9#
根据电话沟通,猜测是总行数设置的问题,实际上删除已经正常触发并删除内容了,只是下方可能存在其他内容,但因为总行数的限制没有显示全,在删除后将下方的内容顶上来了。
回复 使用道具 举报
runergy
中级会员   /  发表于:2023-5-4 16:58:40
10#
文件

库存分析删除行.xlsx

28.62 KB, 下载次数: 439

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部