找回密码
 立即注册

QQ登录

只需一步,快速开始

516crazy

初级会员

10

主题

23

帖子

316

积分

初级会员

积分
316

微信认证勋章

[已处理] 设置文本格式

516crazy
初级会员   /  发表于:2018-12-3 15:02  /   查看:3895  /  回复:5
本帖最后由 516crazy 于 2018-12-3 15:31 编辑

设置单元格为文本格式怎么设置?我在excel里面设置好后,导入到控件 不起作用,

sheet.getCell(i, j).formatter('@'); 这样设置 ,手输没问题,但是从excel复制单元格,粘贴到控件后,只显示1,如果双击excel单元格进去,只复制单元格内容,粘贴到控件也没问题。
image.png814737548.png

5 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-3 17:19:15
沙发
首先,看您的截图,想问一下您是怎样引用的spreadjs依赖?

SpreadJS的包中,只需要引用gc.spread.sheets.all.11.0.0.min.js即可。

另外,您描述的是,Excel中设置了单元格样式为“文本”,然后输入一个数字类似1.234,

我这边按照您的描述没有发现任何问题。

建议您先把SpreadJS 升级到最新版,如果还存在问题,

您能可以细描述一下您的实现步骤,或者提供一个重现问题的Demo,

我这边重现一下问题。
回复 使用道具 举报
516crazy
初级会员   /  发表于:2018-12-5 11:07:44
板凳
KevinChen 发表于 2018-12-3 17:19
首先,看您的截图,想问一下您是怎样引用的spreadjs依赖?

SpreadJS的包中,只需要引用gc.spread.sheets ...

我上传了个图片, QQ图片20181205110329.png 1 是手动输入的,前面的0没问题,2是从excel里复制的,前面的0没了

合格供应商名录1.rar

7.33 KB, 下载次数: 211

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-5 15:29:02
地板
您好,您这个问题是由于SpreadJS目前不支持粘贴Excel的文本格式造成的,

SpreadJS内部粘贴可以实现带入formatter,但是从外部的Excel中获取到的信息在系统的剪贴板中,

而系统剪贴板中没有关于formatter的信息。

我这边提供一个Demo,部分解决了这个问题,但是不能拷贝style,只能拷贝值,您参考一下。

ClipboardPasting_516crazy.html

1.69 KB, 下载次数: 174

回复 使用道具 举报
516crazy
初级会员   /  发表于:2018-12-5 17:29:31
5#
KevinChen 发表于 2018-12-5 15:29
您好,您这个问题是由于SpreadJS目前不支持粘贴Excel的文本格式造成的,

SpreadJS内部粘贴可以实现带入f ...

不对吧,我的单元格设置了formatter,文本格式,现在是从excel复制过来,是把设置的formatter 给干掉了?才不显示前面的0吧?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-5 17:53:17
6#
这里面的逻辑是这样,单元格的formatter属性可以在SpreadJS内部进行复制粘贴,但是并不支持来自于系统剪贴板的formatter。

对单元格的粘贴操作响应的事件都是统一的,而且SpreadJS作为纯前端控件,无法直接读取或修改系统剪贴板的内容,因此会导致这种情况的发生。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部