找回密码
 立即注册

QQ登录

只需一步,快速开始

我想吃麻薯
初级会员   /  发表于:2023-11-16 18:01  /   查看:704  /  回复:4
1金币
本帖最后由 Lynn.Dou 于 2023-11-20 14:04 编辑


产品:SpreadJS
版本:16.2.4
问题编号:SJS-21325

1. 在线编辑器,对一个表格修改表格名称
2. 输入非法字符“&”
3. 修改成功

4. 导出为excel,excel报告异常,因为表格名称不规范

最佳答案

查看完整内容

更新进展: 经调研,此问题属于SpreadJS table与Excel存在差异的设计范畴内(比如table单元格合并等),如果修复可能会影响此前版本文件的导入,所以目前按设计处理。 您可以先尝试以下workaround方案,限制用户在tableName中输入&符号: 效果图如下:

4 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-11-16 18:01:43
来自 3#
更新进展:
经调研,此问题属于SpreadJS table与Excel存在差异的设计范畴内(比如table单元格合并等),如果修复可能会影响此前版本文件的导入,所以目前按设计处理。
您可以先尝试以下workaround方案,限制用户在tableName中输入&符号:
  1. var designer = new GC.Spread.Sheets.Designer.Designer("dss");
  2. var spread = designer.getWorkbook();
  3. var setTableNameFn = spread.commandManager()['Designer.setTableName'].execute;
  4. spread.commandManager()['Designer.setTableName'].execute = function (context, options, actionType) {
  5.     if (options.newTableName && options.newTableName.indexOf("&") === -1) {
  6.         return setTableNameFn.apply(this, arguments);
  7.     } else {
  8.         GC.Spread.Sheets.Designer.showMessageBox("Invalid Table name", "Error Dialog", GC.Spread.Sheets.Designer.MessageBoxIcon.error);
  9.     }
  10. }
复制代码
效果图如下:

image.png516178588.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-11-16 18:12:03
2#
您好,
问题已复现,Excel中&属于非法字符,不允许在tableName中添加。我反馈研发看看后续是否要与Excel设计一致,待有进展贴中通知您。
回复 使用道具 举报
我想吃麻薯
初级会员   /  发表于:2023-11-21 17:26:02
4#
Lynn.Dou 发表于 2023-11-21 14:13
更新进展:
经调研,此问题属于SpreadJS table与Excel存在差异的设计范畴内(比如table单元格合并等),如 ...

好的,谢谢
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-11-21 17:42:05
5#
您客气了,那本帖就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部