查看: 2823|回复: 2

[用户待确认] Excel导出

[复制链接]

6

主题

12

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
发表于 2019-12-20 16:08:24 | 显示全部楼层 |阅读模式
Excel导出能否实现合并单元格或者插入单元格
回复

使用道具 举报

79

主题

89

帖子

629

积分

超级版主

Rank: 8Rank: 8

积分
629
发表于 2020-1-14 17:45:40 | 显示全部楼层
本帖最后由 Alisa 于 2020-1-14 18:06 编辑

这个可以使用POI实现。POI提供API给Java程序对Microsoft Office格式档案读和写的功能,我们可以使用Java自己封装一个Jar包,来将合并单元格和插入单元格的功能封装进去。
然后把这个Jar包导入GeneXus中使用。这个Jar包我们已经封装好了,需要的同学可以自行下载导入。
1.创建KB,编译
2.导入Jar包

导入Jar包的步骤:
如何使用第三方的dll或者jar包
3.导入Jar包后,我们可以在GeneXus中看到

打开它我们可以看到它包含的几个方法

下面是我们封装好的Jar包中包含的方法介绍:
以下所有的参数,下标都从0开始

3.1 ExcelSetCellsValue:在Excel对应Sheet表的单元格设置值
参数:Sheet的Index,第几行,第几列,要插入的值
3.2 ExcelMergedRegion:合并单元格
参数:sheet的Index,起始行,结束行,起始列,结束列
3.3 CreateExcel:生成新的Excel
参数:excel名称
3.4 OpenExcelFile:打开目标模板
参数:目标模板路径
3.5 ExcelInsertRow:插入单元格
参数:sheet的Index,目标开始行,要添加的行数,是否复制单元格格式(1复制,0不复制)
3.6 copyRowsArea:复制行
参数:原sheet的Index,要复制到的目标sheet的Index,拷贝开始行,拷贝结束行,目标位置(就是要复制到第几行)

4.导入Jar包后,需要将此Jar包的关联Jar包都引用下


5.接下来就可以使用了,这里以合并单元格和插入单元格为例
插入单元格:第一个sheet,从第3行开始,添加2行,不复制单元格格式内容
合并单元格:第一个sheet,从第3行开始,到第3行结束,从第1列开始,到第2列结束(后四个参数就是定位合并单元格的位置)

6.调用Procedure,测试下我们的合并单元格和插入单元格的功能

目标模板的样式:

插入单元格:

合并单元格:
引用的Jar包较大,无法上传,可以在群里(377428929)联系工作人员


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

2

帖子

372

积分

中级会员

Rank: 3Rank: 3

积分
372
发表于 2020-6-22 18:45:28 | 显示全部楼层
使用这个方式,只能在Java环境下生效吧,请问.Net环境下的合并是否可以呢,如果不可以,是否有其他办法?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|GeneXus中国技术论坛

GMT+8, 2022-7-1 05:44 , Processed in 0.089578 second(s), 21 queries .

 

© 2019 GeneXus中国技术论坛

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