找回密码
 立即注册

QQ登录

只需一步,快速开始

spreadjs初学者

初级会员

30

主题

112

帖子

264

积分

初级会员

积分
264
spreadjs初学者
初级会员   /  发表于:2023-2-10 16:47  /   查看:1701  /  回复:7
1金币
专家,您好!

     附件是一个Excel文件,导入后里面的文字不知道为什么变粗体了,如果文字比较小,就会变模糊,在你们网站的在线表格里打开也是这样,麻烦看看是什么原因导致的,谢谢!
11111.rar (7.19 KB, 下载次数: 213)

最佳答案

查看完整内容

这边导入后,发现excel中默认是宋体,标题“交叉表”设置了黑体加粗,导入到SpreadJS中保留了单元格的字体即“黑体加粗”。但是相同字体这里变粗了,需要深入调研下。 A3到E3 没有设置单独的字体,默认宋体,导入到SpreadJS中为caribri字体。这个是原因楼上也提到了。excel与SpreadJS默认字体不一致导致的。 您可以参考如下代码修改字体为宋体 此时红色框住的部分内容与excel是一致的

7 个回复

倒序浏览
最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-2-10 16:47:38
来自 4#
本帖最后由 Ellia.Duan 于 2023-2-14 11:24 编辑

这边导入后,发现excel中默认是宋体,标题“交叉表”设置了黑体加粗,导入到SpreadJS中保留了单元格的字体即“黑体加粗”。但是相同字体这里变粗了,需要深入调研下。
A3到E3 没有设置单独的字体,默认宋体,导入到SpreadJS中为caribri字体。这个是原因楼上也提到了。excel与SpreadJS默认字体不一致导致的。
您可以参考如下代码修改字体为宋体
  1.   var designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById("designerHost"));

  2.         var spread = designer.getWorkbook();
  3.         var sheet = spread.getSheetFromName('Sheet1');

  4.         sheet.getDefaultStyle().themeFont = ''
  5.         sheet.currentTheme().bodyFont('宋体');


  6.         designer.bind(GC.Spread.Sheets.Designer.Events.FileLoaded, function (event, data) {
  7.             const {designer} = data
  8.             var spread = designer.getWorkbook();
  9.             var sheet = spread.getSheetFromName('Sheet1');
  10.             sheet.getDefaultStyle().themeFont = ''
  11.             sheet.currentTheme().bodyFont('宋体');

  12.         });
复制代码

此时红色框住的部分内容与excel是一致的
image.png200579833.png
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-2-10 17:50:08
2#
这个是因为字体发生了变化。SpreadJS默认字体是calibri ,导出到excel后看您的截图是宋体。

为此您可以在SpreadJS中设置默认字体为宋体后进行导出
  1. //修改默认字体
  2. GC.Spread.Sheets.Themes.Office.bodyFont("宋体");

  3. //设置表单主题
  4. var sheet = spread.getActiveSheet();
  5. var theme = sheet.currentTheme();
  6. theme.bodyFont("宋体");
  7. sheet.currentTheme(theme);


  8. //或者是
  9. sheet.getDefaultStyle().themeFont = ''
  10. sheet.currentTheme().bodyFont('宋体');
复制代码



回复 使用道具 举报
spreadjs初学者
初级会员   /  发表于:2023-2-13 10:32:21
3#
反了,是普通的Excel文件导入到SpreadJs中以后变了
回复 使用道具 举报
spreadjs初学者
初级会员   /  发表于:2023-2-13 19:04:06
5#
好的,谢谢您,我们先处理默认宋体的问题
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-2-14 11:33:12
6#
本帖最后由 Ellia.Duan 于 2023-2-14 11:34 编辑

关于问题一,这边猜测是浏览器字体与系统字体的差异
如下图所示:左侧是office excel的在线浏览器产品,其字体是用的浏览器字体。右侧是office excel的客户端产品,其字体用的是操作系统windows的系统字体。
image.png539411925.png
通过对比,两者都是黑体加粗,但是左侧的显示更粗一点。这一点与SpreadJS是一致的,因为SpreadJS也是用的浏览器自带的字体。
所以这种情况无法避免,属于差异。
回复 使用道具 举报
spreadjs初学者
初级会员   /  发表于:2023-2-14 12:03:36
7#
好的,谢谢,我们想办法调整一下看看
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-2-14 14:08:39
8#
好的,有问题随时沟通
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部