Excel文档间的数据替换 ---电脑版APP 自动操作魔法师
http://www.won-soft.com/macro/solution/excel-data-replace.htm
介绍:
在我们的日常工作中, 可能经常需要使用同各种数据表格打交道.比如财务工作中各种数据表格, 生产管理上的各种生产数据统计表,以前人力资源部的工资表等等。在处理这些数据的过程中, 我们可能经常会遇到要做一张表,但这张表的数据需要从另一张表上取,每个数据间有一些相关联的规则,举例来说: 年底一般都会做工资统计表,列出所有员工的全年的各种奖金总计、全年应发工资、实发工资、扣款等等项目。这些数据 可能分散在几张表中, 每张表上都有员工的姓名和银行帐号,我们需要根据员工姓名或是银行帐号从各表上取数字, 然后填在统计表。一般我们都是通过在表间查找,然后使用复制/粘贴的方法来完成这类数据替换,如果数据一多,这个 工作的强度是可想而知的。这里我们来看看自动操作魔法师能不能帮我们减化甚至代替我们完成这种数据替换工作。
分析:
我们先来梳理一下表格间数据替换的基本步骤,这里我们假设有两张表,A和B,A表里面有人员姓名、银行帐号、全年工资合计、奖金合计,其中奖金合计这一栏需要从B表中来,B表里面有人员姓名和奖金合计:
- 首先定义需要使用的变量;
- 首先我们打开两张表;
- 从A表里面取一个人员姓名.
注意:如果没有人员姓名了,直接退出,否则没完了。 - 从B表里面根据姓名查奖金合计.
- 如果找到了,则将奖金数粘贴到A表中的奖金合计一栏内.
- 将行号加1,并且跳到第3步继续下一行数据的替换。
自动操作魔法师增强版支持Microsoft Excel文档处理命令,可以对某个单元格进行读或者写,还支持查找单元格数据。 同时,自动魔法师支持循环和跳转指令,可以看出,我们可以使用这些命令来模拟表格间的数据替换操作过程.现在我们就试着根据上面的步骤建立一个脚本来完成此项工作.
建立步骤:
第一步: 建立一个空白魔法
首先,打开"魔法管理器",点击菜单“魔法”,选择“建立一个空白魔法”,如下图:
点击菜单项后,魔法"属性"对话框将会弹出来让我们指定新魔法的一些属性,我们给魔法取一个名称"表格间数据替换",然后点击"确定"直接建立魔法。如下图:
这时自动操作魔法师会弹出一个对话框询问是否编辑这个魔法,我们选择“是”进入编辑器。
魔法编辑器打开后,我们根据前面列出的步骤来一步步插入需要的命令.
第二步: 设置变量
首先,需要定义多个变量用于指定读取的行数,保存读取的内容等等。点击编辑器的菜单"变量",再选择“增加一个变量”,依次加入变量“v_行号”, “v_姓名”,“v_找到的行号”,“v_结束”,“v_奖金”.
变量加入后,我们还需要对"v_行号"设置初始值,点击菜单"插入",选择"变量类",选择"设置变量值", 将变量值设为2(我们的数据在A表中是从第二行开始的)。
第三步: 打开两张表
点击编辑器的菜单"插入", 选择“文档类”,最后选择“打开文档”,如下图:
在命令选项窗口内,输入A表的路径,如:a.xls,文档标识名处我们输入:"A表",文档标识名是用来表示 文档的,在后续对A表的操作中,我们都需要指定这个名称表示是处理A表的。设置完成后,点击确定,如下图:
现在我们还需要打开B表.再次点击"插入"菜单加入"打开文档"命令,且使用使用"B表"做为文档标识名.
第四步: 从A表里面取一个人员姓名
首先,我们在这里插入一个标号(标号是结合跳转命令用的,用来指定需要跳到什么地方),这个标号将在最后跳转时使用。
点击编辑器的菜单"插入",选择“流程类”,再选择"标号",并设一个名称,如下图:
点击编辑器的菜单"插入", 选择“文档类”,选择“读Excel文档单元格”,设置好相关参数,如下图:
因为需要替换的数据不只一个,所以这里单元格行使用变量"v_行号"来代替,而不用具体的数字.读出的内容我们放入变量"v_姓名"中。
第五步: 判断是否已经读完所有数据
点击编辑器的菜单"插入",选择“流程类”,再选择"条件判断(根据变量值)",判断变量"v_结束"是否为1。如下图:
并且在条件判断里面加入"结束"(点击菜单"插入",选择"播放控制类"里面的“结束”。如下图:
第六步: B表里面根据姓名查奖金合计
点击编辑器的菜单"插入", 选择“文档类”,选择“查找EXCEL文档单元格”,设置好相关参数,如下图:
这里我们将使用"v_姓名"来代替要查找的内容,并将找到的行号返回到变量"v_找到的行号"中。
第七步: 读出奖金数据
点击编辑器的菜单"插入", 选择“文档类”,选择“读取EXCEL文档单元格”,将B表中的C列读出来放入"v_奖金"中。
第八步: 将B表里面的奖金合计数放到A表中
点击编辑器的菜单"插入",选择“文档类”,选择“写EXCEL文档单元格”,读取刚才查到的人员奖金数,如下图:
第九步: 跳转到开始
命令执行到这里,我们只完成了一行数据的替换,所以我们还需要做一些额外的工作继续完成所有的数据替换。点击编辑器的菜单"插入",选择“变量类”, 选择“设置变量值”,将变量"v_行号"+1,这样以便替换下一行数据。如下图:
然后,我们再加一条跳转命令,跳到"读人员姓名"处。如下图:
结束:
到此,我们的数据替换魔法已经建立好了。
Excel文档间的数据替换 ---电脑版APP 自动操作魔法师的更多相关文章
- POI 读取Excel文档中的数据——兼容Excel2003和Excel2007
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. HSSF - 提供读写Microsoft Exce ...
- 按照excel文档中的内容在当前cad图纸中自动排布实体
本例实现的主要功能是读取excel文档中的内容,其次是将按照读取的信息在当前cad图纸中添加相应的实体.下面先介绍实现代码: CString excelPath; //外部excel文档的地址 Upd ...
- NPOI 2.1.1 系列(2) 使用NPOI读取List或者datatable数据生成 Excel文档 ;Npoi生成 xlsx 2007以上文档
结合上一篇文章 NPOI 2.1.1 系列(1) 使用NPOI读取 Excel文档 ;NpoiExcelHelper 导入导出 2003格式 2007格式的 Excel; Npoi 导出 xlsx ...
- sqlserver将数据库的数据导成excel文档方法
sqlserver将数据库的数据导成excel文档方法 最近公司需要下载uniport的数据跟之前的数据进行对比,所以避免不了需要将数据库的数据导出来,把SQLServer表中的数据导出为Excel文 ...
- 实时更新Excel文档外部数据源的数据
实时更新Excel文档外部数据源的数据 单元格区域.Excel 表.数据透视表或数据透视图均可以连接到外部数据源(数据源:用于连接数据库的一组存储的"源"信息.数据源包含数据库服务 ...
- DataSet数据导出为Excel文档(每个DataTable为一个Sheet)
Web项目中,很多时候须要实现将查询的数据集导出为Excel文档的功能,很多时候不希望在工程中添加对Office组件相关的DLL的引用,甚至有时候受到Office不同版本的影响,导致在不同的服务器上部 ...
- Oracle PLSQL读取(解析)Excel文档
http://www.itpub.net/thread-1921612-1-1.html !!!https://code.google.com/p/plsql-utils/ Introduction介 ...
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
- Asp.net的对Excel文档的导入导出操作
刚刚初入职场,在休闲的时间写下了项目中用到的对Excel文档操作的方法以及总结,多的不说,直接上代码 public static void CreateExcel(DataSet ds, string ...
随机推荐
- 初试Django的缓存系统
初试Django的缓存系统 现在我网页的逻辑是,响应请求,查找数据库相关信息,渲染模版生成最终页面,最后返回.使用缓存后就是将这个页面保存一段时间,在有响应请求相同页面的时候,可以直接返回,不用再做那 ...
- Filebeat 快速开始
Filebeat可以做什么 条目 filebeat 编写语言 GO 是否支持多输出 支持 是否支持多输入 支持 是否支持修改日志内容 支持 是否会丢数据 不会 对多行文件的合并 支持 对多层目录的模糊 ...
- python: 序列化/反序列化及对象的深拷贝/浅拷贝
一.序列化/反序列化 python中内置了很多序列化/反序列化的方式,最常用的有json.pickle.marshal这三种,示例用法如下: import json import pickle imp ...
- Reveal:分析iOS UI的利器
转:http://security.ios-wiki.com/issue-3-4/ Reveal简介 Reveal是分析iOS应用UI的利器: Reveal能够在运行时调试和修改iOS应用程序.它能连 ...
- EBS MOAC
alter session set nls_language='SIMPLIFIED CHINESE';alter session set nls_language ='AMERICAN'; exec ...
- 微软BI 之SSRS 系列 - 如何在 MDX 查询中获取有效的 MEMBER 成员属性作为参数传递
这篇小文章的来源是 天善问答,比如在报表中要根据点击某一个成员名称然后作为参数传递给自身报表或者下一张报表,这个在普通的 SQL 查询中没有任何问题.但是在 MDX 中查询是有区别的,比如在 MDX ...
- StyleCop 代码走错 去掉 修改csproj文件
<Import Project="..\packages\StyleCop.MSBuild.4.7.55.0\build\StyleCop.MSBuild.Targets" ...
- SSD卡对mongodb的影响
结论 1:SSD卡显著改善磁盘IO,io占用在50%以下 2:SSD卡使mongodb性能稳定.在200并发,数据量是内存5倍的情况下仍然保证每秒1500次插入和4500次查询. 数据如下: ...
- 【Android】详解Android Activity
目录结构: contents structure [+] 创建Activity 如何创建Activity 如何创建快捷图标 如何设置应用程序的名称.图标与Activity的名称.图标不相同 Activ ...
- Mac下必备快捷键的符号所对应的按键
Mac下快捷键的符号所对应的按键 ⌥—> option|alt ⇧—>shift ⌃—>control ⌘—>command ⎋—>esc 注: 与F6/F7/F12等F ...