找回密码
 立即注册

QQ登录

只需一步,快速开始

iaD.

注册会员

7

主题

14

帖子

53

积分

注册会员

积分
53
iaD.
注册会员   /  发表于:2024-1-17 11:44  /   查看:2049  /  回复:5
1金币
无法自动扩展表格,是因为我开了工作表保护吗?
image.png680987243.png

最佳答案

查看完整内容

那就很复杂了,需要您自行监听事件去修改表格的大小来实现,如:

5 个回复

正序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-1-17 15:47:07
6#
不客气哈,那就先结贴了,后续有其他问题的话随时开新帖提问哈。
回复 使用道具 举报
iaD.
注册会员   /  发表于:2024-1-17 15:42:11
5#
Joestar.Xu 发表于 2024-1-17 15:30
那就很复杂了,需要您自行监听事件去修改表格的大小来实现,如:

好的,感谢
回复 使用道具 举报
iaD.
注册会员   /  发表于:2024-1-17 14:54:45
3#
Joestar.Xu 发表于 2024-1-17 14:43
您好,开启了表单保护后是无法自动扩展表格的。

如果要自动扩展的话,需要您解除表单保护才可以。

但是这样我的业务就冲突了,我是根据表单保护来控制填报人不允许修改模板格式,但是模板中通常需要自动扩展表格
有没有什么好办法可以实现,求教
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-1-17 14:43:20
2#
您好,开启了表单保护后是无法自动扩展表格的。

如果要自动扩展的话,需要您解除表单保护才可以。
回复 使用道具 举报
最佳答案
最佳答案
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-1-17 11:45:00
来自 4#
那就很复杂了,需要您自行监听事件去修改表格的大小来实现,如:

  1. let sheet = spread.getActiveSheet();

  2. sheet.tables.add(
  3.   "Table1",
  4.   0,
  5.   0,
  6.   3,
  7.   3,
  8.   GC.Spread.Sheets.Tables.TableThemes.dark1
  9. );

  10. sheet.bind(GC.Spread.Sheets.Events.ValueChanged, function (e, info) {
  11.   if (info.oldValue != null) {
  12.     return;
  13.   }
  14.   let rowRange = {
  15.     row: info.row - 1,
  16.     col: info.col,
  17.     rowCount: 1,
  18.     colCount: 1,
  19.   };
  20.   let colRange = {
  21.     row: info.row,
  22.     col: info.col - 1,
  23.     rowCount: 1,
  24.     colCount: 1,
  25.   };
  26.   let table = sheet.tables.findByName("Table1");
  27.   let tableRange = table.range();
  28.   if (
  29.     tableRange.intersect(
  30.       rowRange.row,
  31.       rowRange.col,
  32.       rowRange.rowCount,
  33.       rowRange.colCount
  34.     )
  35.   ) {
  36.     sheet.tables.resize(
  37.       table,
  38.       new GC.Spread.Sheets.Range(
  39.         tableRange.row,
  40.         tableRange.col,
  41.         tableRange.rowCount + 1,
  42.         tableRange.colCount
  43.       )
  44.     );
  45.   }
  46.   if (
  47.     tableRange.intersect(
  48.       colRange.row,
  49.       colRange.col,
  50.       colRange.rowCount,
  51.       colRange.colCount
  52.     )
  53.   ) {
  54.     sheet.tables.resize(
  55.       table,
  56.       new GC.Spread.Sheets.Range(
  57.         tableRange.row,
  58.         tableRange.col,
  59.         tableRange.rowCount,
  60.         tableRange.colCount + 1
  61.       )
  62.     );
  63.   }
  64. });
复制代码


动画 (0).gif273210448.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部