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

QQ登录

只需一步,快速开始

量传

金牌服务用户

6

主题

9

帖子

37

积分

金牌服务用户

积分
37
量传
金牌服务用户   /  发表于:2025-1-7 14:24  /   查看:81  /  回复:2
1金币
直接引用单元格内某一行内容,引入单元格设定值为0.00;被引用单元格设定2位小数,值也是0.00;GC导出PDF的值为0,而不是0.00是什么原因呢?

3274ee22b1ad2544608d39f9243b319.png475845031.png

2 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2025-1-7 15:16:56
沙发
本帖最后由 Lynn.Dou 于 2025-1-8 14:23 编辑

您好,
问题已复现,已记录下来进一步调研具体原因,待有进展贴中通知。(DOCXLS-11798)
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:7 天前
板凳
经调研,该问题原因如下:
如下图所示,I24单元格的实际value为字符串"0"。
image.png109791564.png
在SpreadJS中,为了满足客户对web Excel的灵活应用,对于value字符串“0”也允许其设置为保留两位小数的数字格式。
但是在微软Excel中,字符串“0”是不支持设置为数字格式的,如果您实际操作下,会发现设置是无效的。
ss.gif301730956.png
而GcExcel的底层实现与微软Excel保持了一致,所以出现了如您所述的导出pdf显示差异。

关于解决方案:
方案1:
从数据源头入手,避免单元格value为字符串“0”,而应为数值0。这需要从业务角度考虑修改原文件。
方案2:
GcExcel提供了extension(SpreadJS 渲染引擎),可以满足在后端导出 PDF 时,与SpreadJS高度一致的需求,经测试可以解决当前问题。
产品文档有详细介绍:

  1. https://www.grapecity.com.cn/developer/grapecitydocuments/excel-java/docs/extension/sjs-render-engine
复制代码
关于使用方式,您可以参考附件demo。其中对于设置英文字体的中文文本,导出后会乱码,所以需要修改为中文字体如宋体。

GcExcel_demo_maven.zip

955.61 KB, 下载次数: 0

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部