Excelvba不打开工作簿怎么取数实现这种自动取数逻辑?。


首先,和各位大侠相比,我对excel一窍不通我有一个excel表格,里面全是英语单词横的按A-Z排列,一共4000个单词我想不重复随机抽取,比如40个,制成10个表格每天...
首先, 和各位大侠相比, 我对excel一窍不通我有一个excel表格, 里面全是英语单词横的按 A-Z 排列,一共4000个单词我想不重复随机抽取, 比如 40 个, 制成 10 个表格每天背诵---这种情况如何实现谢谢
展开
选择擅长的领域继续答题?
{@each tagList as item}
${item.tagName}
{@/each}
手机回答更方便,互动更有趣,下载APP
提交成功是否继续回答问题?
手机回答更方便,互动更有趣,下载APP
展开全部excel 如何随机抽取数据的解决方法如下:1、首先把4000个单词全部放到A列去(这样做的话好写公式),2、B1输入=RAND()
;C1输入 =RANK(B1,$B$1:$B$4000) 选择B1 C1 公式往下拉到4000,3、这个时候C列的数就是1~4000,没有重复
按照这个 来制作表的话不会重复,直接用随机函数会出现重复的情况。已赞过已踩过你对这个回答的评价是?评论
收起
展开全部
我给你的办法,不会出现重复(其实出现重复的几率太小,可以完全忽略)。1:首先把4000个单词全部放到A列去(这样做的话好写公式)2:B1输入=RAND()
;C1输入 =RANK(B1,$B$1:$B$4000) 选择B1 C1 公式往下拉到40003:这个时候C列的数就是1~4000,没有重复
按照这个 来制作表的话不会重复,直接用随机函数会出现重复的情况!
本回答被提问者采纳展开全部把42个人的名字放在A1到A42单元格选中B1:B42编辑栏输入=rand()crlt+enter,选中B列,复制-右键选择性粘贴-数值(防止等下rand数变化了扯皮)选中AB两列,数据-排序,主要关键字B列,(升序降序随便)排序完了,前15个就是随机抽取的,因rand给每个人分配了个随机的数,找15个最大的或者最小的都是随机产生的了
展开全部=INDIRECT(CHAR(INT(RAND()*26+65))&INT(RAND()*COUNT(A:A)+1))这个是随机提取的,但是有个缺陷:有可能会出现0,(因为你的A-Z列的行数不一致)
收起
更多回答(4)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
为你推荐:
下载百度知道APP,抢鲜体验使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。扫描二维码下载
×个人、企业类侵权投诉
违法有害信息,请在下方选择后提交
类别色情低俗
涉嫌违法犯罪
时政信息不实
垃圾广告
低质灌水
我们会通过消息、邮箱等方式尽快将举报结果通知您。说明
做任务开宝箱累计完成0
个任务
10任务
50任务
100任务
200任务
任务列表加载中...
}
本发明涉及数据处理技术领域,尤其涉及一种数据报表的自动生成方法及系统,还涉及一种计算机可读存储介质。背景技术:现有技术中,可利用通用报表系统实现数据报表的自动生成,而这种系统不生成程序,采用宏替换等技术,为程序运行变换结构,其优点是种类繁多,通用性好,但报表生成及运行不能依赖此类通用系统,结构庞大,说明定义居多,不易掌握。此外,现有技术中的报表取值过程,是根据用户需求设计好报表模板后,根据报表模板中的待取值数据预先设计好一套取数逻辑,利用取数逻辑从数据库中直接调取底层数据。而一旦报表模板改变,则需要进行二次开发,导致报表复用性差、自动生成数据报表效率低。技术实现要素:本发明要解决的技术问题是:现有技术中无法灵活设计数据报表,针对不同的业务类型往往需要二次开发,自动生成数据报表效率低的问题。为解决上述技术问题,本发明提供了一种数据报表的自动生成方法,其包括:获取用户输入的目标工艺指标属性;针对获取的每个目标工艺指标属性,调取与该目标工艺指标属性对应的取数引擎,由该取数引擎获取与该目标工艺指标属性对应的工艺指标数据;基于获取的所有工艺指标数据生成数据报表。优选的,获取用户输入的目标工艺指标属性之前,还包括:获取生成所述数据报表用的源数据。优选的,所述目标工艺指标属性以属性树的形式集成在所述数据报表中,获取用户输入的目标工艺指标属性包括:从所述属性树上获取用户输入的目标工艺指标属性。优选的,由取数引擎获取与目标工艺指标属性对应的工艺指标数据,包括:所述取数引擎启动获取目标工艺指标属性的逻辑层代码;逻辑层代码执行与所述目标工艺指标属性对应的取值函数的取值过程,从而获取与目标工艺指标属性对应的工艺指标数据。优选的,生成数据报表之后,还包括:保存所述数据报表,其中,将所述数据报表以excel形式进行存储。优选的,保存所述数据报表之后,还包括:修改所述数据报表,其包括:加载以excel形式存储的数据报表,对该数据报表进行修改。本发明还提供了一种数据报表的自动生成系统,包括:目标工艺指标属性获取模块,用于获取用户输入的目标工艺指标属性;工艺指标数据获取模块,用于针对获取的每个目标工艺指标属性,调取与该目标工艺指标属性对应的取数引擎,由该取数引擎获取与该目标工艺指标属性对应的工艺指标数据;数据报表生成模块,用于基于获取的所有工艺指标数据生成数据报表。优选的,上述系统还包括:源数据获取模块,用于获取生成所述数据报表用的源数据。优选的,所述取数引擎具体用于启动获取目标工艺指标属性的逻辑层代码,以由逻辑层代码执行与所述目标工艺指标属性对应的取值函数的取值过程,从而获取与目标工艺指标属性对应的工艺指标数据。根据本发明的另一个方面,一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时能够实现如上述的数据报表的自动生成方法。与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:应用本发明提供的数据报表的自动生成方法,该方法基于预先建立好的各工艺指标属性对应的取值函数和逻辑层代码,根据用户输入的目标工艺指标属性,调取与该目标工艺指标属性对应的取数引擎,由取数引擎启动获取目标工艺指标属性的逻辑层代码,该逻辑层代码基于目标工艺指标属性对应的取值函数,执行相应的取值过程,从而获取工艺指标数据。从而,在业务变更或不同企业使用时,也无需开发人员进行二次开发,用户根据需求可自定义设计数据报表,从而解决了报表复用性差、自动生成数据报表效率低的问题。附图说明通过结合附图阅读下文示例性实施例的详细描述可更好地理解本公开的范围。其中所包括的附图是:图1示出了本发明提供的一种数据报表的自动生成方法的流程图;图2示出了本发明实施例提供的工艺指标属性以属性树的形式集成在数据报表中的示意图;图3示出了本发明提供的一种数据报表的自动生成系统示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,以下将结合附图及实施例来详细说明本发明的实施方法,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。正如背景技术所述,现有技术中的报表取值过程,是根据用户需求设计好报表模板后,根据报表模板中的待取值数据预先设计好一套取数逻辑,利用取数逻辑从数据库中直接调取底层数据。而一旦报表模板改变,则需要进行二次开发,导致报表复用性差、自动生成数据报表效率低。基于此,本发明提供了一种数据报表的自动生成方法,该方法的实施可以为,前端使用葡萄城控件进行展示,后端使用.netmvc框架搭建。在该方法中,通过获取用户在数据报表中输入的目标工艺指标属性,该目标工艺指标属性可以调取与该目标工艺指标属性对应的取数引擎,该取数引擎和目标工艺指标属性一一对应,由此可以启动后台运行相应的取数逻辑,从底层数据库中获取与目标工艺指标属性对应的工艺指标数据,并将该工艺指标数据插入数据报表的指定区域,从而可以根据用户的需求自动生成数据报表。以下结合流程图,对本发明提供的数据报表的自动生成方法进行详细的描述。需要说明的是,在本发明实施例中,预先获取生成数据报表用的源数据,其中,源数据可以取自多种数据库。例如,可以自lims和实时数据库抽取数据,将该部分数据存储至oracle数据库,形成数据中心,再从数据中心获取生成报表用的源数据。实施例一参见图1,本发明提供的一种数据报表的自动生成方法,主要包括步骤s101~s103。在步骤s101中,获取用户输入的目标工艺指标属性。在本发明实施例中,工艺指标属性可以为企业实体对象对应的属性。其中,以石油企业为例,石油企业中的实体对象可以为按企业组成描述的实体对象:工厂、部门、车间等;按企业区域描述的实体对象:装置、仓库、罐区等;按企业节点描述的实体对象:罐、焦化料、轻蜡油等。企业实体对象对应的属性可以为企业实体对象的名称、类型和所属区域等。作为一示例,本发明中获取用户输入的目标工艺指标属性可以为,获取用户输入的企业实体对象的名称,作为一具体示例,可以为获取用户输入的轻蜡油。在该步骤中,获取用户输入的目标工艺指标属性可以为,后台将数据中心存储的源数据以工艺指标属性为单位集成于葡萄城控件,并在用户选择的数据报表页面展示。用户通过从数据报表页面选择目标工艺指标属性,以拖拽的形式放置到数据报表的指定位置。作为另一示例,该步骤还可以为,将数据中心存储的源数据以工艺指标属性为单位进行分类,组装成属性树,后台将工艺指标属性以属性树的形式集成在数据报表中,如图2所示。在属性树中,各个工艺指标属性按照组织架构进行归类,属性树的分支则是根据每个部门、车间、装置、班组等进行的细化,由此实现了将众多工艺指标属性进行归类,更便于用户寻找目标工艺指标属性。在步骤s102中:针对获取的每个目标工艺指标属性,调取与该目标工艺指标属性对应的取数引擎,由该取数引擎获取与该目标工艺指标属性对应的工艺指标数据。需要说明的是,数据中心存储有大量的数据,以石油企业为例,在生产运行中,大量的生产原料初始数值,例如,加工数值、生产数值、使用数值等,均按不同的生产阶段存于数据库中,而这些数据仅简单的存于底层数据库中,这些数据之间相互关联,并存在依托关系。每项工艺指标数据最终要展示至页面,均需要底层数据相互计算,才能得到最终的结果。因此,在本发明中,预先对存储于底层数据库中的源数据以工艺指标属性为单位进行再包装,并建立取数引擎,以获取工艺指标数据。例如,对于数据报表,存在以年、月、日为单位的统计,以工艺指标属性“罐区”某时间点的工艺指标数据为例,对“罐区”对应的源数据进行再包装、建立取数引擎的过程可以具体为:首先,对“罐区”、“某时间点”相关联的数据库进行查询,建立工艺指标属性和相关联数据之间的函数关系,作为取值函数,其中,每个工艺指标属性和取值函数一一对应。利用该方式,可以遍历所有工艺指标属性,建立各个工艺指标属性对应的取值函数。其次,在后台处理中的代码层中,将已完成的函数取值过程与代码进行结合,形成逻辑层与数据库之间的关联。通过遍历所有的工艺指标属性,从而实现各个工艺指标属性对应的取数逻辑,以保证各个工艺指标属性能够获取到对应的工艺指标数据,等待前台数据的调取。基于预先建立好的取数引擎以及取值函数,该步骤s102可以具体通过以下步骤实现:在步骤s1021中:所述取数引擎启动获取目标工艺指标属性的逻辑层代码;在步骤s1022中,逻辑层代码执行与所述目标工艺指标属性对应的取值函数的取值过程,从而获取与目标工艺指标属性对应的工艺指标数据。作为一具体示例,在同一数据报表中,用户需要获取1号罐区12点的数据和3号罐区12点的数据,用户可以从属性树中将目标工艺指标属性“1号罐区12点的数据”和“3号罐区12点的数据”以拖拽的方式放置到数据报表中的合适位置,后台通过获取用户输入的罐区编号、时间,由取数引擎分别启动获取“1号罐区12点的数据”属性相关联的逻辑层代码以及获取“3号罐区12点的数据”属性相关联的逻辑层代码,逻辑层代码基于目标工艺指标属性对应的取值函数,分别执行相应的取值过程,获得1号罐区12点对应的工艺指标数据和3号罐区12点的数据后,分别将获取的工艺指标数据返回至数据报表页面。如此,通过遍历所有工艺指标属性,预先建立好各个工艺指标属性对应的取值函数以及执行该取值函数取值过程的逻辑代码层,可以实现根据输入的目标工艺指标属性,分别执行每个目标工艺指标属性对应的工艺指标数据的获取步骤:调取取数引擎、执行对应的逻辑层代码以及返回对应的工艺指标数据。从而,对于不同领域、不同业务需求的数据报表,数据报表内容发生变化时,根据输入的目标工艺指标属性和逻辑层代码之间一一对应的关系,可以实现动态的调整数据报表。本发明提供的方法可实现无需开发人员进行二次开发,用户可自定义设计数据报表页面。在步骤s103中:基于获取的所有工艺指标数据生成数据报表。在该步骤中,获取的工艺指标数据填充至数据报表中用户指定的位置,可根据用户需求灵活设计数据报表内容。作为一示例,生成数据报表之后,还可以保存该数据报表。作为一优选示例,生成数据报表之后,将数据报表以excel形式进行存储。数据报表以excel形式存储于服务器,当用户再次查看数据报表时,直接加载以excel形式存储的excel文件,从而可以提高数据报表获取速度,提高用户的使用体验。作为另一示例,保存数据报表之后,还可以修改数据报表。具体的,加载以excel形式存储的数据报表,对该数据报表进行修改。作为另一示例,对设计好的数据报表进行发布,对应形成菜单栏,并集成至系统中。另外,在自动生成数据报表之后,还可以对页面进行相应控件开发及报表集成。例如,保存功能、打印功能和导出功能的控件。作为一优选示例,还可以将本发明提供的方法与集成平台进行集成,从而在该方法运行时能够兼容单点登录等功能。以上为本发明实施例一提供的一种数据报表的自动生成方法,该方法基于预先建立好的各工艺指标属性对应的取值函数和逻辑层代码,根据用户输入的目标工艺指标属性,调取与该目标工艺指标属性对应的取数引擎,由取数引擎启动获取目标工艺指标属性的逻辑层代码,该逻辑层代码基于目标工艺指标属性对应的取值函数,执行相应的取值过程,从而获取工艺指标数据。从而,对于业务的变更,也无需开发人员进行二次开发,用户根据需求可自定义设计数据报表,实现以动态数据加载,灵活显示表格、图形、文本等内容,达到数据报表自动生成的效果。并解决了报表复用性差、自动生成数据报表效率低的问题。以上对本发明数据报表的自动生成方法进行了详细的描述,相应的本发明还提供了一种数据报表的自动生成系统,具体说明请参见实施例二。实施例二参见图3,本发明提供的数据报表的自动生成系统,包括目标工艺指标属性获取模块301、工艺指标数据获取模块302和数据报表生成模块303。目标工艺指标属性获取模块301,用于获取用户输入的目标工艺指标属性。在本发明实施例中,工艺指标属性可以为企业实体对象对应的属性。其中,以石油企业为例,石油企业中的实体对象可以为按企业组成描述的实体对象:工厂、部门、车间等;按企业区域描述的实体对象:装置、仓库、罐区等;按企业节点描述的实体对象:罐、焦化料、轻蜡油等。企业实体对象对应的属性可以为企业实体对象的名称、类型和所属区域等。作为一示例,本发明中获取用户输入的目标工艺指标属性可以为,获取用户输入的企业实体对象的名称,作为一具体示例,可以为获取用户输入的轻蜡油。作为示例,目标工艺指标属性获取模块301获取用户输入的目标工艺指标属性,后台将数据中心存储的源数据以工艺指标属性为单位集成于葡萄城控件,并在用户选择的数据报表页面展示。用户通过从数据报表页面选择目标工艺指标属性,以拖拽的形式放置到数据报表的指定位置。作为另一示例,目标工艺指标属性获取模块301从属性树中获取目标工艺指标属性。其中,从属性树中获取目标工艺指标属性可以为,将数据中心存储的源数据以工艺指标属性为单位进行分类,组装成属性树,再通过后台将工艺指标属性以属性树的形式集成在数据报表中,如图2所示。在属性树中,各个工艺指标属性按照组织架构进行归类,属性树的分支则是根据每个部门、车间、装置、班组等进行的细化,由此实现了将众多工艺指标属性进行归类,更便于用户寻找目标工艺指标属性。工艺指标数据获取模块302,用于针对获取的每个目标工艺指标属性,调取与该目标工艺指标属性对应的取数引擎,由该取数引擎获取与该目标工艺指标属性对应的工艺指标数据。需要说明的是,数据中心存储有大量的数据,以石油企业为例,在生产运行中,大量的生产原料初始数值,例如,加工数值、生产数值、使用数值等,均按不同的生产阶段存于数据库中,而这些数据仅简单的存于底层数据库中,这些数据之间相互关联,并存在依托关系。每项工艺指标数据最终要展示至页面,均需要底层数据相互计算,才能得到最终的结果。因此,在本发明中,预先对存储于底层数据库中的源数据以工艺指标属性为单位进行再包装,并建立取数引擎,以获取工艺指标数据。作为示例,基于预先建立好的取数引擎以及取值函数,工艺指标数据获取模块302用于针对获取的每个目标工艺指标属性,具体的,首先通过调取取数引擎启动获取目标工艺指标属性的逻辑层代码;再通过逻辑层代码执行与所述目标工艺指标属性对应的取值函数的取值过程,获取与目标工艺指标属性对应的工艺指标数据。如此,通过遍历所有工艺指标属性,预先建立好各个工艺指标属性对应的取值函数以及执行该取值函数取值过程的逻辑代码层,可以实现根据输入的目标工艺指标属性,分别执行每个目标工艺指标属性对应的工艺指标数据的获取步骤:调取取数引擎、执行对应的逻辑层代码以及返回对应的工艺指标数据。从而,对于不同领域、不同业务需求的数据报表,数据报表内容发生变化时,根据输入的目标工艺指标属性和逻辑层代码之间一一对应的关系,可以实现动态的调整数据报表。本发明提供的系统可实现无需开发人员进行二次开发,用户可自定义设计数据报表页面。数据报表生成模块303,用于基于获取的所有工艺指标数据生成数据报表。数据报表生成模块303用于将获取的工艺指标数据填充至数据报表中用户指定的位置,可根据用户需求灵活设计数据报表内容。另外,本发明提供的数据报表的自动生成系统还可以包括,源数据获取模块304,用于获取生成数据报表用的源数据。优选的,本发明提供的数据报表的自动生成系统中,所述取数引擎具体用于启动获取目标工艺指标属性的逻辑层代码,以由逻辑层代码执行与所述目标工艺指标属性对应的取值函数的取值过程,从而获取与目标工艺指标属性对应的工艺指标数据。另外,在自动生成数据报表之后,还可以对页面进行相应控件开发及报表集成。例如,保存功能、打印功能和导出功能的控件。作为一优选示例,还可以将本发明提供的系统与集成平台进行集成,从而在该系统运行时能够兼容单点登录等功能。以上为本发明实施例二提供的数据报表的自动生成系统。该系统基于预先建立好的各工艺指标属性对应的取值函数和逻辑层代码,通过目标工艺指标属性获取模块301根据用户输入的目标工艺指标属性,利用工艺指标数据获取模块302调取与该目标工艺指标属性对应的取数引擎,由取数引擎启动获取目标工艺指标属性的逻辑层代码,该逻辑层代码基于目标工艺指标属性对应的取值函数,执行相应的取值过程,从而获取工艺指标数据。最后,通过数据报表生成模块303基于获取的所有工艺指标数据生成数据报表。从而,对于业务的变更,也无需开发人员进行二次开发,只需要将已完成的数据报表自动生成系统的整体框架部署到新公司的系统上,用户根据需求就可以自定义设计数据报表,实现以动态数据加载,灵活显示表格、图形、文本等内容,达到数据报表自动生成的效果。并解决了报表复用性差、自动生成数据报表效率低的问题。实施例三本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时能够实现所述数据报表的自动生成方法。本申请实施例提供了一种处理器,所述处理器用于运行计算机程序,其中,所述程序运行时执行所述数据报表的自动生成方法。本申请实施例提供了一种设备,该设备包括处理器、计算机可读存储介质及存储在计算机可读存储介质上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取用户输入的目标工艺指标属性;针对获取的每个目标工艺指标属性,调取与该目标工艺指标属性对应的取数引擎,由该取数引擎获取与该目标工艺指标属性对应的工艺指标数据;基于获取的所有工艺指标数据生成数据报表。本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取用户输入的目标工艺指标属性;针对获取的每个目标工艺指标属性,调取与该目标工艺指标属性对应的取数引擎,由该取数引擎获取与该目标工艺指标属性对应的工艺指标数据;基于获取的所有工艺指标数据生成数据报表。虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。}

我要回帖

更多关于 vba不打开工作簿怎么取数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信