找回密码
 立即注册

QQ登录

只需一步,快速开始

wutao@digiwin
金牌服务用户   /  发表于:2024-3-18 10:08  /   查看:514  /  回复:6
1金币
image.png622647094.png



我导出表格后发现是因为两者的字体不一致 正常大小的是微软雅黑 偏小的那个是宋体
但是我没有设置这个区域的字体 不知道为什么会出现这个情况


image.png592434691.png image.png536330260.png

已经上传了文件包   导出的表格+导出的json
image.png311549987.png

测试数据.zip

7.94 KB, 下载次数: 9

最佳答案

查看完整内容

您好, 原因是G15单元格字体为Calibri。 SpreadJS目前不支持中文主题字体,所以对于默认的Calibri字体,在导出xlsx文件并在MSExcel本地打开时,会显示为中文主题字体-宋体。 对于此问题,建议您在设计表单时即保持字体统一, 或者可以直接修改sheet默认的字体为 Microsoft Yahei,以避免出现字体不一致问题。 示例代码如下:

6 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-18 10:08:39
来自 2#
您好,
原因是G15单元格字体为Calibri。 SpreadJS目前不支持中文主题字体,所以对于默认的Calibri字体,在导出xlsx文件并在MSExcel本地打开时,会显示为中文主题字体-宋体。
对于此问题,建议您在设计表单时即保持字体统一,
或者可以直接修改sheet默认的字体为 Microsoft Yahei,以避免出现字体不一致问题。
示例代码如下:
  1. var defaultStyle = sheet.getDefaultStyle();
  2. // 设置sheet默认字体
  3. defaultStyle.font = "11pt 'Microsoft Yahei'";
  4. // 删除themeFont,以避免导出xlsx文件被替换为中文主题字体
  5. delete defaultStyle.themeFont;
  6. sheet.setDefaultStyle(defaultStyle);
复制代码
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2024-3-18 13:32:59
3#
Lynn.Dou 发表于 2024-3-18 12:21
您好,
原因是G15单元格字体为Calibri。 SpreadJS目前不支持中文主题字体,所以对于默认的Calibri字体,在 ...

好的 我试试
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2024-3-18 15:17:26
4#
Lynn.Dou 发表于 2024-3-18 12:21
您好,
原因是G15单元格字体为Calibri。 SpreadJS目前不支持中文主题字体,所以对于默认的Calibri字体,在 ...

试了还是不行 没有任何效果 表格显示还是字体不一样 导出来的也还是字体不一样
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-18 16:24:30
5#
您好,
我整理了一个demo,您参考看看。操作步骤如下:
1、运行附件demo
2、通过designer 文件菜单-导出xlsx文件
3、将导出的xlsx文件在Excel本地打开,观察字体。
我这边测试的结果如下图所示:
image.png346384887.png

V16demo.zip

3.96 KB, 下载次数: 4

回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2024-3-19 10:08:33
6#
Lynn.Dou 发表于 2024-3-18 16:24
您好,
我整理了一个demo,您参考看看。操作步骤如下:
1、运行附件demo

好的谢谢 现在可以了
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-3-19 13:32:54
7#
您客气了,那本贴就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部