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

QQ登录

只需一步,快速开始

sheroting

注册会员

2

主题

7

帖子

21

积分

注册会员

积分
21
  • 65

    金币

  • 2

    主题

  • 7

    帖子

最新发帖
sheroting
注册会员   /  发表于:2024-7-3 09:36  /   查看:188  /  回复:7
本帖最后由 Ellia.Duan 于 2024-7-3 14:29 编辑

企业微信截图_17199705812946.png573672790.png
此图为从后端获取的excel,
企业微信截图_17199705034433.png656907958.png
此图为渲染到spreadjs上的excel,列变窄内容显示不全了。

是什么原因

企业微信截图_17199705034433.png968518676.png
企业微信截图_17199704432956.png74171141.png

7 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-3 14:38:34
沙发
您好 ,一般来说,SpreadJS中列宽与默认字体有关系。
SpreadJS中默认字体是calibri字体
image.png835493469.png
如果在Excel中没有设置固定字体 ,如下图所示
image.png498564757.png
常规中字体是等线(正文),导入到SpreadJS中会是calibri字体,列宽会发生变化,这个是因为目前SpreadJS仅支持西文字体。
如果此时,常规中字体是等线,则导入到SpreadJS中仍然是等线字体,列宽不会发生变化。
image.png459197997.png

回复 使用道具 举报
sheroting
注册会员   /  发表于:2024-7-3 17:19:41
板凳
Ellia.Duan 发表于 2024-7-3 14:38
您好 ,一般来说,SpreadJS中列宽与默认字体有关系。
SpreadJS中默认字体是calibri字体

我们项目中导入的excel字体是宋体,给spreadjs设置一个默认字体就可以解决这个问题了是吗
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-3 17:33:11
地板
需要在您的Excel文件中 ,设置常规中字体为宋体,如下图所示:
image.png538837890.png
回复 使用道具 举报
sheroting
注册会员   /  发表于:2024-7-4 08:31:17
5#
Ellia.Duan 发表于 2024-7-3 17:33
需要在您的Excel文件中 ,设置常规中字体为宋体,如下图所示:

请问用代码如何实现 ,也不能让用户挨个去设置
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-4 09:22:05
6#
您好,是否可以提供下您的原始Excel文件。

如果想要修改列宽,您可以遍历列,使用下面的代码去实现。
  1. sheet.setColumnWidth(0,100)
复制代码
https://demo.grapecity.com.cn/sp ... heet#setcolumnwidth


或者是自适应列。
  1. sheet.autoFitColumn(0)
复制代码
https://demo.grapecity.com.cn/sp ... sheet#autofitcolumn

回复 使用道具 举报
shero
注册会员   /  发表于:2024-7-5 17:57:18
7#
Ellia.Duan 发表于 2024-7-4 09:22
您好,是否可以提供下您的原始Excel文件。

如果想要修改列宽,您可以遍历列,使用下面的代码去实现。

我试了一下,只有自己的excel常规字体设置成等线的时候,列宽是没有问题的,设置成宋体还是不对
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-8 09:36:12
8#
如果您原来的Excel中主题字体是等线(正文) ,在常规字体中设置为等线即可。
如果主题是宋体(正文),在常规字体中设置为宋体即可。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部