找回密码
 立即注册

QQ登录

只需一步,快速开始

bella

金牌服务用户

13

主题

37

帖子

136

积分

金牌服务用户

积分
136
bella
金牌服务用户   /  发表于:2023-11-21 11:42  /   查看:2095  /  回复:8
本帖最后由 Richard.Huang 于 2023-11-23 14:02 编辑



产品:SpreadJS
版本:V16.2.2


image.png290794066.png
1.数据透视  怎么写公式
毛利率=毛利额/业绩

2.不同列需要使用不同样式 颜色 怎么不生效

8 个回复

倒序浏览
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-21 15:21:15
沙发
您好,数据透视表仅仅做展示使用,无法直接修改数据,因此您只能将公式写在数据源里,不能通过直接操作数据透视表来计算公式

对于您的第二个问题,您可以参考咱们的这篇学习指南:https://demo.grapecity.com.cn/sp ... /pivot-style/purejs
image.png278437194.png
回复 使用道具 举报
bella
金牌服务用户   /  发表于:2023-11-21 16:04:33
板凳
本帖最后由 bella 于 2023-11-21 16:08 编辑
Richard.Huang 发表于 2023-11-21 15:21
您好,数据透视表仅仅做展示使用,无法直接修改数据,因此您只能将公式写在数据源里,不能通过直接操作数据 ...

1. 不是直接修改数据 EXCEL 可以
image.png580138244.png    

image.png626333007.png




2.有没有不是 fieldName: "Qt",的例子  
都是数字  年度2一个颜色  年度3另外一个颜色  年度4又是一个颜色  
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-21 17:39:51
地板
您好,抱歉之前没有理解您的意思,实际上我们并不能直接操作数据,因为透视表的一切数据都是来自于数据源。您上面描述的Excel中添加新的项来计算某个字段是Excel的插入计算字段功能,我们SpreadJS也是支持的。

UI操作: image.png110154112.png

代码操作:
var table = sheet.pivotTables.all()[0];
table.getAllFields();// ['名字', '年龄', '开口说话']
table.addCalcField("新", "=年龄/5");

API参考:https://demo.grapecity.com.cn/sp ... able-1#addcalcfield

对于您的第二个问题,Qt是Field,下面的季度1、季度2是Qt的元素,如果其他字段下也有季度1、季度3就没办法定位了,因此,对于每个字段您都希望有对应的样式,您可以多次分开使用即可:
image.png921296691.png
回复 使用道具 举报
bella
金牌服务用户   /  发表于:2023-11-21 20:05:37
5#
Richard.Huang 发表于 2023-11-21 17:39
您好,抱歉之前没有理解您的意思,实际上我们并不能直接操作数据,因为透视表的一切数据都是来自于数据源。 ...

GC.Spread.Pivot.PivotTableFieldType.valueField的设置样式 而不是columnField 列的有案例吗
回复 使用道具 举报
bella
金牌服务用户   /  发表于:2023-11-21 20:07:22
6#
GC.Spread.Pivot.PivotTableFieldType.valueField的设置样式 而不是columnField 列的 image.png902081603.png
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-22 10:55:20
7#
bella 发表于 2023-11-21 20:07
GC.Spread.Pivot.PivotTableFieldType.valueField的设置样式 而不是columnField 列的

您好,值字段上的样式是可以设置的,但是它并不能生效。这主要是设计如此:
而我们的SpreadJS设计和Excel是保持一致的。您可以下载附件demo进行查看和测试,当您将Amount字段拖动到列或者行字段上时,之前设置的样式是能够生效的
test.gif233299864.png

如果您确实对这个有所需求,建议您可以将样式设置在单元格上,而不设置在字段上。您可以配合getRange()方法和setStyle()方法来实现
getRange:https://demo.grapecity.com.cn/sp ... votTable-1#getrange
setStyle:https://demo.grapecity.com.cn/sp ... .CellRange#setstyle

demo.xlsx

12.64 KB, 下载次数: 236

数据透视表样式.html

5.59 KB, 下载次数: 157

回复 使用道具 举报
bella
金牌服务用户   /  发表于:2023-11-22 13:10:09
8#
Richard.Huang 发表于 2023-11-22 10:55
您好,值字段上的样式是可以设置的,但是它并不能生效。这主要是设计如此:
而我们的SpreadJS设计和Exce ...

明白了 谢谢
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-11-22 13:41:51
9#

好的,那么本贴就先结帖了,后续有新的问题欢迎继续发帖讨论
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部