经调研,该问题原因如下:
如下图所示,I24单元格的实际value为字符串"0"。
在SpreadJS中,为了满足客户对web Excel的灵活应用,对于value字符串“0”也允许其设置为保留两位小数的数字格式。
但是在微软Excel中,字符串“0”是不支持设置为数字格式的,如果您实际操作下,会发现设置是无效的。
而GcExcel的底层实现与微软Excel保持了一致,所以出现了如您所述的导出pdf显示差异。
关于解决方案:
方案1:
从数据源头入手,避免单元格value为字符串“0”,而应为数值0。这需要从业务角度考虑修改原文件。
方案2:
GcExcel提供了extension(SpreadJS 渲染引擎),可以满足在后端导出 PDF 时,与SpreadJS高度一致的需求,经测试可以解决当前问题。
产品文档有详细介绍:
- https://www.grapecity.com.cn/developer/grapecitydocuments/excel-java/docs/extension/sjs-render-engine
复制代码 关于使用方式,您可以参考附件demo。其中对于设置英文字体的中文文本,导出后会乱码,所以需要修改为中文字体如宋体。
|
|