找回密码
 立即注册

QQ登录

只需一步,快速开始

Lynn.Dou 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-27 15:25  /   查看:3413  /  回复:0
本帖最后由 lynn512 于 2020-10-27 15:33 编辑

背景:在某些行业会对报告所出的图表做出规范性的要求,比如要求图表坐标轴刻度值为逆序的。Excel中提供逆序刻度值的功能,那么SpreadJS如何实现逆序呢?
思路:SpreadJS虽然没有提供设置逆序的接口,但是可以保留图表坐标轴的逆序效果,所以我们可以通过修改 json 属性来实现。

步骤:
将设置图表坐标轴逆序和不设置图表坐标轴逆序的两个Excel文件导入SpreadJS中,使用toJSON方法导出json数据。
对比发现,json区别在两点,如下图所示:
image.png973533935.png
image.png242907408.png
所以我们只修改这两个属性就可以了。


我们以附件的demo为例来测试下效果。
导入Excel文件
image.png945224914.png
执行以下代码:
  1. var json = spread.toJSON()
  2.             //修改属性
  3.             json.sheets.Sheet1.charts[0].chartSpace.chart.plotArea.axes[1].scaling.orientation = 0;
  4.             json.sheets.Sheet1.charts[0].chartSpace.chart.plotArea.axes[0].axPos = 3;
  5.             spread.fromJSON(json);
复制代码

最后使用fromJSON方法来初始化 spread 对象,就会发现图表坐标轴刻度逆序。
image.png75983885.png
需要注意的是:demo所示代码仅针对demo的Excel文件,红框所示部分需要根据实际文件修改,但原理都是一样的。
image.png918940124.png
附件为示例demo,您可以参考下。








图表逆序刻度值.zip

16.99 MB, 下载次数: 140

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部