找回密码
 立即注册

QQ登录

只需一步,快速开始

chinaiss_gz

初级会员

54

主题

126

帖子

408

积分

初级会员

积分
408

[调研中] excel表升级问题

chinaiss_gz
初级会员   /  发表于:2020-1-7 11:37  /   查看:4537  /  回复:9
字体和边框问题
字体边框问题0107.jpg

V11到V13边框线丢失0107.rar

1.6 MB, 下载次数: 627

9 个回复

倒序浏览
Fiooona
论坛元老   /  发表于:2020-1-7 12:30:00
沙发
这个问题已经复现,与研发进一步沟通中,有结果会回复您,问题编号3113
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
chinaiss_gz
初级会员   /  发表于:2020-1-7 15:16:50
板凳
希望尽快修复哈
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-1-7 15:21:50
地板
好的
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-1-8 13:45:01
5#
本帖最后由 Fiooona 于 2020-1-8 13:56 编辑

这个是由于修复了V11的bug引起的问题:
当单元格有字体和主题字体的时候,主题字体的优先级更高,字体问题可以再设置主题字体为宋体来解决这问题
边框问题是由于,我们修复了一个bug(合并单元格的边缘单元格不可见时,将不显示相关边框),这个问题需要您添加上边框来解决,后期用新版本的设计器再设计表单是将不会再出现类似问题。
  1. var sheet = $spread.getActiveSheet();
  2.             sheet.suspendPaint();
  3.             var theme = sheet.currentTheme();
  4.             theme.bodyFont("宋体");
  5.             sheet.currentTheme(theme);
  6.             //set border for span cells
  7.             var spans = sheet.getSpans(new GC.Spread.Sheets.Range(5, 1, 18, 32));
  8.             spans.forEach(function (range) {
  9.                 sheet.getRange(range.row, range.col, range.rowCount, range.colCount).setBorder(new GC.Spread.Sheets.LineBorder("black",GC.Spread.Sheets.LineStyle.thin), { top:true, bottom: true });
  10.             });
  11.             sheet.resumePaint();
复制代码

V11到V13边框线丢失字体改变.zip

1.8 MB, 下载次数: 596

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
chinaiss_gz
初级会员   /  发表于:2020-1-17 17:22:37
6#
你提供的方式,是自己给合并区域重新划线的方式,能否提供通用的方法处理?无法一张表一张表进行单独处理。
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-1-19 14:28:18
7#
暂时没有好的办法,可以对有问题的表单模板用新版的设计器再编辑后重新保存。
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
chinaiss_gz
初级会员   /  发表于:2020-1-20 11:59:03
8#
我们这边有几千张表弄好的,再次编辑,怎么编辑
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-1-20 12:28:36
9#
几千张表单手动编辑是不太合适,尽量今天下班前给您回复一个解决方案
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-1-20 15:05:59
10#
本帖最后由 Fiooona 于 2020-1-20 15:08 编辑

如果你的原来的表单是V11版本,可以在加载的时候判断:
  1. $spread.fromJSON(b);
  2.             let version = b.version;
  3.             // 如果是V11版本
  4.                 if(version.split('.')[0]=='11'){
  5.                     console.log('V11版本');
  6.                 }
复制代码

对老版本的SpreadJS设计的表单加载时添加如下代码:

  1.     sheet.suspendPaint();
  2.     var rowCou = sheet.getRowCount();
  3.     var colCou = sheet.getColumnCount();
  4.         var spans = sheet.getSpans(new GC.Spread.Sheets.Range(0,0, rowCou, colCou));
  5.            spans.forEach(function (range) {
  6.             //   console.log(range.row + range.col+ '合并单元格')
  7.                 sheet.getRange(range.row, range.col, range.rowCount, range.colCount).setBorder(new GC.Spread.Sheets.LineBorder("black",GC.Spread.Sheets.LineStyle.thin), { top:true, bottom: true ,left:true,right:true});
  8.             });
  9.             sheet.resumePaint();
复制代码
这个问题仅会影响有隐藏行列、合并单元格 的表单,如果这类表单较多可以用上面的代码处理,如果比较少建议手动在设计器中重新设计表单。
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部