找回密码
 立即注册

QQ登录

只需一步,快速开始

知名华丽

初级会员

9

主题

22

帖子

209

积分

初级会员

积分
209
知名华丽
初级会员   /  发表于:2020-8-27 10:16  /   查看:2472  /  回复:3
1金币
sheet.charts.add('line', GC.Spread.Sheets.Charts.ChartType.line, 0, 100, 400, 300, 'A14')
这是对A14范围的数据进行创建图表的,
那么如果我的数据范围是动态的,不知道具体几行,要怎么写范围?

最佳答案

查看完整内容

您好, 您可以先根据动态数据获取数据所在区域。然后使用 rangeToFormula 方法,将获取到的区域转化为 A1:B4的形式。Api链接如下: https://demo.grapecity.com.cn/spreadjs/help/latest/content/SpreadJS~GC.Spread.Sheets.CalcEngine~rangeToFormula.html?highlight=rangetoformula%2C 然后就可以使用add方法插入图表了。 您可以参考下以下代码: 如果想要通过数据源生成图表,您可以参考这篇博客: https://gc ...

3 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-8-27 10:16:26
来自 2#
您好,
您可以先根据动态数据获取数据所在区域。然后使用 rangeToFormula 方法,将获取到的区域转化为 A1:B4的形式。Api链接如下:
https://demo.grapecity.com.cn/sp ... t=rangetoformula%2C
然后就可以使用add方法插入图表了。


您可以参考下以下代码:
  1. sheet.setValue(0, 0, 1, 3);
  2. sheet.setValue(1, 0, 50, 3);
  3. sheet.setValue(2, 0, 100, 3);
  4. sheet.setValue(3, 0, 2, 3);
  5. sheet.setValue(4, 0, 60, 3);
  6. sheet.setValue(5, 0, 90, 3);
  7. sheet.clearSelection();
  8. // 添加selection
  9. sheet.addSelection(0, 0, 6, 1);
  10. var range = sheet.getSelections();
  11. // 获取range字符串
  12. var rangeStr = GC.Spread.Sheets.CalcEngine.rangeToFormula(range[0]);
  13. //生成图表
  14. sheet.charts.add('line', GC.Spread.Sheets.Charts.ChartType.line, 0, 100, 400, 300, rangeStr)
复制代码



如果想要通过数据源生成图表,您可以参考这篇博客:
https://gcdn.grapecity.com.cn/showtopic-75534-1-1.html

回复 使用道具 举报
知名华丽
初级会员   /  发表于:2020-8-27 17:40:25
3#
多谢解答
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-8-27 17:43:19
4#
不客气,如果还有问题的话可以在本贴追问,
也可以另开新帖。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部