请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

grb

初级会员

17

主题

53

帖子

461

积分

初级会员

积分
461

微信认证勋章

grb
初级会员   /  发表于:2018-12-18 14:55  /   查看:3522  /  回复:4
请问后太返回数据某字段是个list ['aaa', 'bbb', 'ccc'],如何能够在单元格中换行展示(如图)?
image.png250400084.png

4 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-18 16:04:03
沙发
您好,目前SpreadJS没有一个接口可以直接满足您的需求,

但是可以使用单元格的word warp的样式来实现,

参考学习文档:

https://demo.grapecity.com.cn/Sp ... Sample/#/demos/font

您能否描述一下您的具体需求,也许我们可以提供更好的思路。
回复 使用道具 举报
grb
初级会员   /  发表于:2018-12-18 16:12:43
板凳
KevinChen 发表于 2018-12-18 16:04
您好,目前SpreadJS没有一个接口可以直接满足您的需求,

但是可以使用单元格的word warp的样式来实现,
...

这个可以批量设置吗?
sheet.getRange(0, 7, 300, 2).wordWrap(true);

{
        name: 'materialCodeChangesBefores',
        displayName: '更改前物料信息',
        size: 300,
        value: (record) => {
          if (record.materialCodeChangesBefores instanceof Array) {
            return record.materialCodeChangesBefores.map((item) => {
              const { materialCode, price, amount } = item;
              return `${materialCode}(${price})*${amount}\r\n`;
            });
          }
        },
},
这样设置表格显示的不换行,但是编辑单元格时显示的换行效果。请问该如何设置?
回复 使用道具 举报
grb
初级会员   /  发表于:2018-12-18 16:21:56
地板
KevinChen 发表于 2018-12-18 16:04
您好,目前SpreadJS没有一个接口可以直接满足您的需求,

但是可以使用单元格的word warp的样式来实现,
...

而且这样设置页面能构显示出内容虽然没有换行,但是前端导出excel后这个字段没有值,是什么原因?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-18 17:19:30
5#
您好,通常情况下,像您这样有大面积单元格需要统一设置样式时,

一般采用的方式是为表格或者行、列设置默认样式,例如:

https://demo.grapecity.com.cn/Sp ... ample/#/demos/style

示例代码如下:

  1. var spread = GC.Spread.Sheets.findControl("ss");
  2. var sheet = spread.getActiveSheet();
  3. var style = sheet.getDefaultStyle();
  4. style.wordWrap = true;
  5. sheet.setDefaultStyle(style);
复制代码


这样一来就可以为整个sheet设置默认的样式为自动换行了。

另外,SpreadJS的自动换行规则是,当内容的长度超出单元格宽度时自动折行,

或者当内容中出现了\r这样的换行符时也会自动折行。

我注意到您的换行符写在了内容的尾部?您可以从这里着手检查一下,

如果还是无法解决,可以把您导出的ssjson文件上传一份到附件中,

我这边帮您排查调试一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部