找回密码
 立即注册

QQ登录

只需一步,快速开始

Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-21 14:20:18
11#
本帖最后由 Ellia.Duan 于 2022-9-21 14:34 编辑
钛和集团 发表于 2022-9-20 21:27
然后我这个是合并单元格的,能把样式也插入进去吗?

这里可以用fillAuto来实现自动填充某个区域
  1.        let datasource = new GC.Spread.Sheets.Bindings.CellBindingSource(data);
  2.             let table1 = sheet.tables.findByName('gcTable0');
  3.             table1.expandBoundRows(true);
  4.             sheet.setDataSource(datasource);

  5.             const tableRange = table1.range();
  6.             console.log(tableRange.row,tableRange.col,tableRange.rowCount,tableRange.colCount,) //12,2,7,31
  7.             var start = new GC.Spread.Sheets.Range(15,0,1,33);
  8.             var r3 = new GC.Spread.Sheets.Range(15,0,4,33);
  9.             sheet.fillAuto(start, r3, {
  10.                 fillType: GC.Spread.Sheets.Fill.FillType.auto,
  11.                 series: GC.Spread.Sheets.Fill.FillSeries.column,
  12.                 direction: GC.Spread.Sheets.Fill.FillDirection.down
  13.             });
复制代码

image.png372609252.png
回复 使用道具 举报
钛和集团
初级会员   /  发表于:2022-9-21 15:43:31
12#
Ellia.Duan 发表于 2022-9-21 14:20
这里可以用fillAuto来实现自动填充某个区域

这个插入会导致值发生变化吗? image.png619505004.png ,我的数据都是35-2006,然后插入后数据就变成35-2007,35-2008……这样了,  
回复 使用道具 举报
钛和集团
初级会员   /  发表于:2022-9-21 15:56:10
13#
image.png478745421.png ,而且我这个样式怎么是这样的,边框的线一段一段的
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-21 16:07:07
14#
如果用fillAuto方式不能很好解决问题的话,建议您这边遍历table,然后合并单元格,获取之前的样式,然后重设样式。
回复 使用道具 举报
钛和集团
初级会员   /  发表于:2022-9-21 17:29:44
15#
Ellia.Duan 发表于 2022-9-21 16:07
如果用fillAuto方式不能很好解决问题的话,建议您这边遍历table,然后合并单元格,获取之前的样式,然后重 ...

呃,这个要怎么实现??怎么遍历table,然后合并单元格,获取之前的样式,然后重设样式
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-21 18:21:23
16#
您可以查看api文档,通过range方法获取表格区域,通过getActualStyle方法获取之前设置好的行列样式,通过addSpan来合并单元格,以及最后通过setStyle设置样式。


还有一个问题,之前问过您。在Designer中通过表格绑定 必须进行单元格合并吗?是否可以通过设置列宽来达到您想要的效果。
回复 使用道具 举报
钛和集团
初级会员   /  发表于:2022-9-21 18:46:31
17#
Ellia.Duan 发表于 2022-9-21 18:21
您可以查看api文档,通过range方法获取表格区域,通过getActualStyle方法获取之前设置好的行列样式,通过ad ...

对,他必须要合并单元格
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-21 19:02:06
18#
您还可以参考这个clipboardPaste 来实现这个效果,具体代码如下:


  1. var sheet = spread.getActiveSheet();
  2. var fromRange = [new GC.Spread.Sheets.Range(15,0,1,33)];
  3.     var toRanges = [new GC.Spread.Sheets.Range(16,0,3,33)];
  4.     spread.commandManager().execute({cmd: "clipboardPaste", sheetName: "首页",
  5.         fromSheet: sheet, fromRanges: fromRange,
  6.         pastedRanges: toRanges, isCutting: false, clipboardText: "",
  7.         pasteOption: GC.Spread.Sheets.ClipboardPasteOptions.formatting});
复制代码

实现效果如下:
image.png800296020.png


回复 使用道具 举报
钛和集团
初级会员   /  发表于:2022-9-21 20:36:56
19#
image.png332275695.png 这个两个表格这个粘贴要怎么实现,我数据多加了几行,他怎么后面没有继续粘贴样式了?

image.png457747802.png
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-22 09:00:01
20#
本帖最后由 Ellia.Duan 于 2022-9-22 09:15 编辑
钛和集团 发表于 2022-9-21 20:36
这个两个表格这个粘贴要怎么实现,我数据多加了几行,他怎么后面没有继续粘贴样式了?

在18楼回复中,我和您提到了clipboardPaste这个API的用法,您这边可以研究下。
其中,我给您的代码,只复制了三行
image.png280159301.png
您这边可以适当修改代码,根据数据量多少修改粘贴区域的行数。


如果没有实现您的效果,您这边需要提供下修改数据的方式及代码。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部