getdatasource拿不到绑定的数据源
模板设计的时候,给单元格绑定了数据源字段,但是获取不到数据源,得到的是个null
get() {
const spread = this.designer.getWorkbook();
const sheetCount = spread.getSheetCount();
// 遍历工作簿中的每个工作表
let sourceCount = {};
for (let i = 0; i < sheetCount; i++) {
// 获取当前工作表
let sheet = spread.getSheet(i);
// 使用 name() 方法获取工作表名称
let sheetName = sheet.name();
let dataSource = null;
const dataSourceObject = sheet.getDataSource();
console.log(dataSourceObject, "dataSourceObject");
if (
dataSourceObject !== null &&
typeof dataSourceObject.getSource === "function"
) {
dataSource = dataSourceObject.getSource();
} else {
dataSource = sheet.getDataSource();
}
// console.log(dataSource, "dataSource");
sourceCount[sheetName] = dataSource;
}
console.log(sourceCount, "sourceCountsourceCount");
},
您好,你这边是想获取数据源信息?还是想要获取绑定的数据源的字段信息?
如果是想获取数据源信息的话,需要先设置数据源信息,即setDataSource接口,然后才能获取数据源的信息。
如果是想要获取绑定的数据源的字段信息,目前没有特别高效的办法,您可以参考这个链接中的内容来获取字段的信息(https://gcdn.grapecity.com.cn/showtopic-82960-1-550.html)。
Joestar.Xu 发表于 2023-10-17 11:45
您好,你这边是想获取数据源信息?还是想要获取绑定的数据源的字段信息?
如果是想获取数据源信息的话, ...
单元格绑定的话,那就必须根据单元格坐标去拿了啊,那样岂不是很复杂 还可以在UI上保存数据的模板结构,如图所示:
导出的结果如下:
具体的代码可以参考:
let designerBindingPathSchema = designer.getData("updatedTreeNode") || designer.getData("oldTreeNodeFromJson");
参考链接:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=132963 Joestar.Xu 发表于 2023-10-17 13:53
还可以在UI上保存数据的模板结构,如图所示:
这个是获取到的那个数据源字段面板上的所有字段,我其实只是 想要当前excel绑定了的字段 您这边为什么要获取到这个绑定的字段呢?具体的业务需求是什么? Joestar.Xu 发表于 2023-10-17 14:14
您这边为什么要获取到这个绑定的字段呢?具体的业务需求是什么?
后面这个绑定的字段需要提供给后端,后端会吧这些值计算好,返回给前端,我们这边数据源面板的字段总共有9000多个,所以这块必须把当前sheet使用了哪些给拿出来 您好,“后端会把这些值计算好”,是指在GcExcel中去进行计算吗?
通常来说,您在前端将这个spread对象的json传输到后端,在后端中执行setDatasource绑定数据后是可以直接计算的,计算完毕后,再将这个spread对象的json传输到前端,由前端来展示,这样也能实现您的需求。 Joestar.Xu 发表于 2023-10-17 16:43
您好,“后端会把这些值计算好”,是指在GcExcel中去进行计算吗?
通常来说,您在前端将这个spread对象 ...
后端不知道当前excel用了哪些字段,所以setDatasource的时候,不知道set哪些 您好,猜测您对我们的GcExcel的数据绑定功能不是很了解,GcExcel和SpreadJS的数据绑定功能是兼容的,在SpreadJS中,对模板绑定好字段后,您可以直接将这个模板导出为json,然后GcExcel去加载;GcExcel会自动处理模板的绑定关系,无需再额外操作,只需要像SpreadJS一样执行setDatasource就可以了。
如果我的描述有误,请您再详细描述一下您的疑问,或者留下您的联系方式,这边和您电话沟通一下。
参考链接:https://demo.grapecity.com.cn/documents-api-excel-java/demos/jsonsource
页:
[1]
2