起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5764|回复: 6

[结贴] 模板生成:如何填充表格数据?

[复制链接]

7

主题

27

帖子

93

积分

初级会员

Rank: 2

积分
93
QQ
发表于 2017-4-12 16:18:50 | 显示全部楼层 |阅读模式
版本: 其它(帖子中说明) 小版本号: 3.6
数据库: Oracle 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: 其它(帖子中说明) 浏览器: 其它(帖子中说明)
版本:Bex5V3.6
问题描述:
attachmentPC 控件的word模板生成,
如果有个表格,需要动态生成行,并且填充数据该怎么操作?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-4-12 16:40:35 | 显示全部楼层
参考 /UI2/demo/components/process/attachment/mainActivity.w模版填充
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

7

主题

27

帖子

93

积分

初级会员

Rank: 2

积分
93
QQ
 楼主| 发表于 2017-4-12 17:17:36 | 显示全部楼层
jishuang 发表于 2017-4-12 16:40
参考 /UI2/demo/components/process/attachment/mainActivity.w模版填充

其实我想知道,怎么动态添加表格的行,和动态设置书签C:\Users\Vincent\Desktop\1123.png
1123.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-4-12 17:36:26 | 显示全部楼层
这个是vba标准的操作word,需要自己都网上查找
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

7

主题

27

帖子

93

积分

初级会员

Rank: 2

积分
93
QQ
 楼主| 发表于 2017-4-14 16:50:35 | 显示全部楼层
本帖最后由 少侠请留步 于 2017-4-14 16:51 编辑

bex5可以调用vba的函数并且传参数吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-4-14 17:31:30 | 显示全部楼层
/UI2/demo/components/process/attachment/mainActivity.w模版填充里面的实现就是vba操作的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

7

主题

27

帖子

93

积分

初级会员

Rank: 2

积分
93
QQ
 楼主| 发表于 2017-5-31 14:05:38 | 显示全部楼层
已解决,可以结帖!
通过vba操作转成js实现!


Model.prototype.attContOfficeLoaded = function(event) {
                //debugger;
                var data = this.comp("mainData");
                // 将需要填充的内容构造成一个JSON数据
                var detail = this.comp("detailData");
                var djson = "";
                detail.each(function(op){
                        var remark = op.row.val('REMARK')==undefined?""p.row.val('REMARK');
                        var collDate = op.row.val('COLL_DATE')==undefined?""p.row.val('COLL_DATE');
                        djson += '{"ITEM_NO":"'+op.row.val('ITEM_NO')+'"'
                        +',"COLL_TYPE_NAME":"'+op.row.val('COLL_TYPE_NAME')+'"'
                        +',"COLL_AMT":"'+op.row.val('COLL_AMT')+'"'
                        +"},";
                });
                djson = "["+djson.substring(0, djson.length-1)+"]";
                var p = {
                        "CONT_NAME" : data.getValue("CONT_NAME"),
                        "CONT_ISSG_PARTY" : data.getValue("CONT_ISSG_PARTY"),
                        "CONTRACTOR" : data.getValue("CONTRACTOR"),
                        "dt":djson
                };
               
                event.officeEditorContext.execute(function(params, officeEditor, ovObj) {
                        // 当前文档对象实例
                        var activeDocument = ovObj.ActiveDocument;
                         // 全局的选中对象实例
                        var selection = ovObj.ActiveDocument.Application.Selection;
                       
                        // 在officeEditor对话框的页面内获取officeViewer
                        // 遍历填充数据
                        $.each(params, function(k, v) {
                                if (k === "dt") {
                                        return true;
                            }
                                // 填充
                                ovObj.WriteWordBookmarkInfo(k, v);
                        });
                       
                        // 填充表格数据,获取word中的第二个表格
                        var table = activeDocument.Tables(2);
                        var o;
                        var obj = eval('(' + params.dt + ')');
                        for (o in obj) {
                            table.Rows.Last.Select();
                            selection.InsertRowsBelow(1);
                            selection.MoveRight(12); // tab 键功能,移至下一列
                            selection.TypeText(obj[o].ITEM_NO);
                            selection.MoveRight(12);
                            selection.TypeText(obj[o].COLL_TYPE_NAME);
                            selection.MoveRight(12);
                            selection.TypeText(obj[o].COLL_AMT);
                        }
                }, p);
        };
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-5 09:07 , Processed in 0.081333 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表