找回密码
 立即注册

QQ登录

只需一步,快速开始

低调的繁华
金牌服务用户   /  发表于:2024-3-27 13:30  /   查看:3518  /  回复:16
本帖最后由 Lynn.Dou 于 2024-4-23 09:44 编辑

问题2调研编号:DOCXLS-9514


1、提供标准的接口可以获取到相关模板的数据源列表。
        比如模板中设置了a,b,c三个数据源,我直接可以通过Workbook对象调用相关方法获取数据源列表a,b,c。

2、支持对当前报表模板进行数据源选择上数。
        比如模板中设置了a,b,c三个数据源,在我进行第一次上数时基于报表模板文件A.ssjson我们只选择数据源a进行上数,然后保存文件为B.ssjson(只上了数据源a),后续我们再次打开报表文件B.ssjson,然后添加数据源b,c进行上数并保存文件为C.ssjson(此时数据源a,b,c都上数了)。

3、支持数据源更新后重新对当前已经上数的模板进行上数。
       比如模板中有一个数据源ds,在使用processTemplate对模板文件A.ssjson进行上数后,保存当前Workbook为B.ssjson文件。过一段时间ds数据源更新了,我们再次使用gc打开B.ssjson文件添加数据源ds,然后使用processTemplate对报表文件B上数,然后保存新的报表文件C.ssjson。



15 个回复

正序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-5-9 10:40:09
17#
好的
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-5-9 10:21:52
16#
Lynn.Dou 发表于 2024-4-30 17:25
关于需求1:“提供标准的接口可以获取到相关模板的数据源列表。”
实际上您可以在addDataSource之前,将设 ...

好的 那这需求暂时就先这样 我们自己实现下
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-30 17:25:11
15#
关于需求1:“提供标准的接口可以获取到相关模板的数据源列表。”
实际上您可以在addDataSource之前,将设置的原数据源列表进行存储,之后根据需要再获取使用即可,这种情况下再通过接口get数据源就没有意义了。
如果是希望对填充后的模板文件反向获取数据源,这个是实现不了的,因为对于填充后的文件(xlsx或json)中,并没有用一个字段去记录哪些是数据源,换句话说,文件只关注于赋值后的结果,而不会记录该结果是来自于模板填充还是setValue。
如果您还有其他业务场景,还请再详细描述下,以便需求的进一步评估。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-7 14:50:45
14#
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-4-7 10:57:53
13#
Lynn.Dou 发表于 2024-4-3 12:09
好的,我们再讨论下这个需求,有结果了再通知您。

好的 麻烦了
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-3 12:09:54
12#
本帖最后由 Lynn.Dou 于 2024-4-30 14:43 编辑

好的,此需求已记录下来,如后续有进展再通知您。
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-4-2 18:26:24
11#
Lynn.Dou 发表于 2024-4-2 18:13
我的理解其实又回到5楼所述了,因为ReportA已经是上数后的文件,内已经没有模板语言,所以GcExcel无法进行 ...

其实我这种是想简单实现,我只是想让后端有二次上数的能力,模板中的上数sheet和用户修改的sheet是完全分开的了。这样我就可以基于当前已经上数的文件进行数据源更新了

目前我们的实现的思路是在我们解析模板时(设置类似"{{xxx}}"格式的模版),记录相关后端模板设定方式以及相关坐标,写到一张配置sheet中,然后再次上数时我去读取配置sheet进行相关上数数据区域(gc上数区域)还原以及重新标记模板"{{xxx}}" 然后再重新调用gc上数 即可完成重新上数过程。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-4-2 18:13:05
10#
我的理解其实又回到5楼所述了,因为ReportA已经是上数后的文件,内已经没有模板语言,所以GcExcel无法进行识别并加载数据源了。如5楼所述,还是还是从应用层做下解决,比如对于用户做的修改性行为做下二次记录,在更新数据源之后将修改复原回去,以实现“在保存当前用户修改数据的前提进行更新数据源”
回复 使用道具 举报
低调的繁华
金牌服务用户   /  发表于:2024-4-2 14:18:05
9#
Lynn.Dou 发表于 2024-4-1 11:54
如果是这样,为什么不在数据源更新后,还是使用模板A进行上数呢?对于模板A来说,只需要分别执行对应的数据 ...

因为这样的话我可以做模板数据源与用户使用的数据区域隔离,比如我们在一个模板中做A、B、C三个sheet,我的sheetA是用来上数的,其中的B、C可以引用sheetA中上数的数据进行计算。因此,我可以在当前模板上数后保存为一个文件为ReportA,然后用户可以对当前文件进行编辑,我后面重新对文件ReportA进行打开然后再基于sheetA进行上数然后保存为文件ReportB, 此时就可以在保存当前用户修改数据的前提进行更新数据源了。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部