领地网怎么编辑个人网站,销售管理系统数据库设计,北京建设项目管理有限公司网站,wap网站开发工具Hey#xff0c;最近有很多粉丝私信询问#xff0c;2020年已过半#xff0c;又该统计半年报表信息了。你关心的是#xff0c;Ruby能否像VBA、Python一样#xff0c;实现多表格快速汇总#xff1f;答案是肯定的。这期#xff0c;为你讲解如何将多个Word表格汇总到Excel里。…Hey最近有很多粉丝私信询问2020年已过半又该统计半年报表信息了。你关心的是Ruby能否像VBA、Python一样实现多表格快速汇总答案是肯定的。这期为你讲解如何将多个Word表格汇总到Excel里。为了方便演示我只模拟了3个Word数据文件。001 需求分析表格里有培训名称、培训时间、主办方、培训地点、培训内容等项目。Word表和Excel大致存储原理大致相同他们都是由一个个cell组成的但不同的是在Excel里单元格对象是cells而在Word里它则变成了cell。002 思路解析解题思路第一步通过Ruby调用Office接口打开Word、Excel。第二步将Word表的指定位置数据写入数组保存。第三步将数组数据一次性写入Excel保存。第四步检查是否存在问题关闭相关文件。003 代码展示# 初始化
require win32olePthFile.dirname(__FILE__)
EapWIN32OLE::new(Excel.Application)
WapWIN32OLE::new(word.Application);Wap.visibletrue
arrArray.new(100){[nil]}
filenameDir.glob(Pth/*.doc)
s0# 提取文件
filename.each{|n|wdcWap.documents.open(n)twdc.tables.count(1..t).each{|i|# 培训名称arr[s][0]wdc.tables(i).cell(1,2).range.text.chop# 培训时间 arr[s][1]wdc.tables(i).cell(1,4).range.text.chop# 主持人arr[s][2]wdc.tables(i).cell(2,2).range.text.chop# 培训地点arr[s][3]wdc.tables(i).cell(2,4).range.text.chop# 培训内容arr[s][4]wdc.tables(i).cell(3,2).range.text.chops1}# wdc.close
}# 数据写入
ebkEap.workbooks.open(Pth/汇总.xls)
Eap.visibletrue
ebk.worksheets(1).range(a2).resize(s,5).valuearr