文档库 最新最全的文档下载
当前位置:文档库 › 用ExcelVBA方法实现报表自动生成

用ExcelVBA方法实现报表自动生成

本文由geosouth贡献

pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

第 25 卷第 1 期 2009 年 1 月

电力科学与工程 Electric Power Science and Engineering

Vol.25, No.1 Jan., 2009

73

用 Excel VBA 方法实现报表自动生成

王靖 1,王林 1,周金文 2

(1. 中国石油华北石化公司机动设备处,河北任丘 062552;2. 中国石油华北油田公司,河北任丘 062552) 摘要:针对实时报表应用中的一些不足,介绍了如何利用 Excel VBA 来实现 InTouch 组态界面下报表的自动生成.该方法不破坏 InTouch 的安全性设置,不引入第三方软件,不需要操作人员人工干预. 关键词:VBA;录制宏函数;自动报表生成中图分类号:TP319 文献标识码:A

据库中的项目用于指定起始周期, 持续时间及采样 0 引言间隔等,以便访问历史数据.HistData 实用程序采用"动态数据交换" DDE(Dynamic Data Ex众所周知, 实时报表的编写方法虽然众多, 但 change) 技术访问 InTouch 创建的历史数据文件. 是程序步骤相当繁琐, 报表功能也受到很多限制. 它可以将所选的历史数据移入提出请求的程序, 如一些现成的水晶报表灵活性不够, 根本无法满足数 Microsoft Excel,并生成一个扩展名为 CSV 的文据报表的多种需求. 特别是组态时, 考虑到组态软件.该文件可以用 Excel 打开. 件浏览器的安全性设置, 只能让操作人员操作监控历史数据的访问可通过在提出请求的程序中使画面,而不能进入 WINDOWS 界面.第三方报表用宏函数或直接在 InTouch 中实现,并且需要定软件的引入势必牵涉到操作系统对该软件的激活, 义与 HistData 程序相关的各个项目.在 InTouch 这与浏览器的安全性设置相矛盾. 鉴于此, 本文提中编写条件脚本程序,让 InTouch 在既定的时刻出用 Excel VBA 来实现 InTouch 组态界面下报表 (如上午9:15)将电力监控系统 6 kV 运行日志需自动生成的方法. 要统计的 24 个整点时刻的数据写入 CSV 文件. 第 2 步,从已经生成的 CSV 文件中读取数据 1 自动生成方法的实现放入报表文件中 (利用 EXCEL 中的 VBA 编程) . 导入 CSV 文件,利用 VBA 录制宏函数,将报表实现过程中, 利用了常规办公软件 Office Excel 中的内嵌工具 Visual Basic 编辑器(Excel 菜单下工具——宏——Visual Basic 编辑器) ,程序非常简单. 此方法不用制作操作界面, 不需值班员的干预, 自动生成报文并交付打印机打印; 报表生成时不破坏InTouch 的安全性设置.此方法共分 4 个步骤. 第 1 步,利用 InTouch HistData 与Intouch 条件脚本生成 CSV 文件. InTouch HistData 是工控组态软件 InTouch 的一个控件, 程序包含自己的内部数据库. 内部数工作表有效区域的单元格中的数据填入既定的 EXCEL 工作表中(例如:1 号开闭所报表自动打印 . xls) ,生成报表表格的格式在该工作表中已设定好. 号开闭所报表自动打印 .xls" VBA Project "1 : 中结合录制宏函数生成程序模块 kbs1, 具体如下. '录制昨天 9 点至今天 8 点的整点报表 Workbooks. Open Filename: ="E: \ 报表. CSV" '在 Excel 中打开 Intouch 生成的 CSV 文件 Range ( "C2: AC25 " ) . Select '选定范围为需要录制的数据

收稿日期:2008 08 22. 作者简介:王靖 (1974 -), 男, 中国石油华北石化公司机动设备处工程师.

74

2009 年

Selection. Copy Windows( "1 号开闭所报表打印 .xls").Activate '激活在 Excel 中设定好的报表格式'ActiveSheet. Unprotect Range ( "C5" ) . Select Selection. PasteSpecial Paste: =xlValues, Operation: =xlNone, SkipBlanks: = _ False, Transpose: =False '录制昨天 9 点的有功电度 Windows ( "报表. CSV" ) . Activate Range ( "AD2: AZ2 " ) . Select Selection. Copy Windows ( "1#开闭所报表打印 .xls" ) .Activate Range ( "G43" ) . Select Selection. PasteSpecial Paste: =xlValues, Operation: =xlNone, SkipBlanks: = _ False, Transpose: =False '录制今天 9 点的有功电度 Windows ( "报表. CSV" ) . Activate Range ( "AD26: AZ26 " ) . Select Selection. Copy Windows ( "1#开闭所报表打印 .xls" ) .Activate Range ( "G44" ) . Select Selection. PasteSpecial Paste: =xlValues, Operation: =xlNone, SkipBlanks: = _ False, Transpose: =False '录制昨天和前天 9 点的电能读数, 进行相减, 得出一天的电度数 '录制昨天 9 点的无功电度 Windows ( "报表. CSV" ) . Activate Range ( "BA2: BW2 " ) . Select Selection. Copy Windows ( "1#开闭所报表打印 .xls" ) .Activate Range ( "G45" ) . Select Selection. PasteSpecial Paste: =xlValues, Operation: =xlNone, SkipBlanks: = _ False, Transpose: =False '录制今天 9 点的无功电度 Windows ( "报表. CSV" ) . Activate Range ( "BA26: BW26 " ) . Select Selection. Copy Windows ( "1#开闭所报表打印 .xls" ) .Activate Range ( "G46" ) . Select

Selection. PasteSpecial Paste: =xlValues, Operation: =xlNone, SkipBlanks: = _ False, Transpose: =False '录制报表日期(在自动生成的报表上记录下当日的日期) Windows ( "报表. CSV" ) . Activate Range ( "A2" ) . Select Selection. Copy Windows ( "1#开闭所报表打印 .xls" ) .Activate Range ( "C2" ) . Select Selection. PasteSpecial Paste: =xlValues, Operation: =xlNone, SkipBlanks: = _ False, Transpose: =False Application. CutCopyMode = False '关闭 csv 文件 Application. CutCopyMode = False Windows ( "报表. CSV" ) . Activate ActiveWindow. Close (其它数据录制过程相同) ……'清除报表中的垃圾数据 'Rows ( "39: 47" ) . Select 'Selection. ClearContents 'Range ( "A39" ) . Select '取消最后一次复制的模式,将光标置位 ' (如果不置位,下次程序再次启动时,会从当前光标处开始执行录制宏,报表格式就会打乱) Application. CutCopyMode = False Range ( "A3" ) . Select '另存为以当天日期为文件名的报表(每天在固定的目录下生成当日的运行日志) 'Dim mydate As String 'mydate = Date – 1 '今日生成的是是昨日的报表 'Dim mydir As String 'mydir = "E: \报表\" + mydate + ".xls" '指定存储的路径 'ActiveWorkbook.SaveAs Filename:=mydir, _ FileFormat: =xlNormal, Password: ="", WriteResPassword: ="", _ ReadOnlyRecommended: =False, CreateBackup: =False 'Application. WindowState = xlMinimized '打印当日报表

第1期

靖,等

用 Excel VBA 方法实现报表自动生成

75

Range ( "A1: AC37" ) . Select ActiveSheet. PageSetup. PrintArea = " $ A $1: $AC$37"

'设定打印区域(在此区域外还有中间数据) ActiveWindow. SelectedSheets. PrintOut Copies: =1, Collate: =True '保存该报表 'ActiveSheet. Protect DrawingObjects: = Run ( "kbs1" ) '执行第二步编好的 kbs1 程序模块 Application. Quit '退出应用程序 End Sub 第 4 步, InTouch 运行过程中, 在最小化打开 EXCEL. 至此,每天的 9 时 15 分,写有上述程序的电力监控系统 CLIENT 就会自动生成昨日 9 时至今日 8 时的运行报表,并自动按照指定的路径存档, 同时在默认打印机上打印.

参考文献: [1] 刘国定. 自动报表生成与自动程序设计 [J]. 小型微型计算机系统, 1988,9 (12): 51-54. [2] 叶苍. 通用数据库自动报表工具的原理与实现 [J]. 烟台大学学报 (自然科学与工程版), 1995, (4): 69-72. [3] 陈松乔, 张盈. FoxPro for Windows 中基于专家知识的自动报表生成程序 [J]. 中南工业大学学报, 1998,29 (2): 176-178.

True, Contents: =True, Scenarios: =True ActiveWorkbook. Save End Sub 第 3 步, 实现自动执行 EXCEL 宏函数的功能 (不隐藏 InTouch) . 首先将 EXCEL 的宏函数安全性设为最低, 以避免每次执行宏时的安全提示. "1#开闭所报表自动打印 .xls" :VBA 中编写针对工作薄的脚本程序,具体如下. Private Sub Workbook_Open () Application. WindowState = xlMinimized '激活 1#开闭所报表自动打印 .xls

Discussion on Method of VBA of Automatic Reporting

Wang Jing1, Wang Lin1, Zhou Jinwen2

(1. China Petroleum Natural Gas Co., Ltd., Huabei Petrochemical Branch, Renqiu 062552, China; 2. PetroChina Huabei Oilfield Company, Renqiu 062552, China) Abstract: For a number of shortcomings of applications of automatic reporting, this article presented how to use Excel and VBA to achieve automatic reporting under InTouch. This method does not undermine the security settings of InTouch and need no other software and human intervention. Key words: VBA; record macro; automatic reporting

本TXT由“文库宝”下载:https://www.wendangku.net/doc/c23950766.html,/wenkubao

如何快速自动生成并定制报表

如何快速自动生成并定制报表 在各种管理信息系统应用中,需要产生大量的报表,通常的做法是由编程人员一个个手工制作,工作效率较低;另外,用户希望能够将在应用程序里查询得到的结果生成报表以便打印。为了解决以上两种问题,本文利用动态生成技术实现了快速自动产生报表,允许用户手工对报表进行修饰,并将实现过程封装成一个类。 1.设计思路 使用过C++Builder或Delphi的编程人员知道,有一个TDBGrid控件,它能以表格的形式显示和操作用户查询的数据记录;而要制作一个可供打印的报表,则需要使用TQuickRep 控件,在它上面增加TQRLabel、TQRDBText、TQRShape等控件,设置它们对应的数据集、数据字段等属性,然后编排它们的位置,以表格或其它格式显示出来供预览和打印,这是一个很繁琐的过程。有时,用户希望能将查询出来的显示在TDBGrid控件的数据打印出来,按照以往的做法,就需要由编程人员按照TDBGrid的显示内容手工设计报表。在这里,本文利用动态生成技术,读出TDBGrid的有关显示信息,在TQuickRep控件里动态生成相应的TQRLabel、TQRDBText、TQRShape等控件,设置各字段的标题和数据以及表格分割条。这是完全可行的,因为在C++Builder里所有的控件都可以由程序动态生成,不仅仅是在设计阶段才产生的。另外,如果用户对产生的报表表格布局不太满意,本文提供了接口使用户可对报表进行手工调整,调整表格的高度、宽度等布局,实现用户对报表的一定程度的定制。 利用C++的封装性特点,将自动产生并定制报表的实现封装成一个新类TGridPrint,对外提供编程人员关心的公用接口,屏蔽了内部信息和具体实现,体现了面向对象的设计思想,为编程人员带来方便。编程人员还可以在它基础上进一步扩充功能。这样设计的新类减轻了编程人员的工作量,同时为用户提供了定制报表的接口,提高了报表的质量和用户参与的积极性。 2.实现过程 自动产生并定制报表的实现过程包括自动产生和定制两部分。新类的定义和实现分别在Gri dPrint.h GridPrint.cpp文件里,另包含3个文件RepRst.h、RepRst.cpp、RepRst.dfm,它们是已产生的一个窗口FrmRepRst,在它里面已增加一个TQuickRep控件,它的属性Bands的各子属性的值全为true。 2.1 自动产生报表 先定义一个表示表格某一列信息的结构,在报表里一列有固定标题和显示的数据文本两种信息,为了能画出表格,每一列固定标题栏和数据栏右边分别增加一个分隔条。在类TGridPr int的构造函数里,先根据传入的TQuickRep *pSrcQuickRep(报表指针),TDBGrid * pSrc DBGrid(数据表格指针),TQRBand *SrcTitleBand1(报表中的总标题栏指针), TQRBand *SrcColumnHeaderBand1(报表中的字段标题栏指针),TQRBand * SrcDetailBand1(报表中的数据栏指针)参数设置类的私有变量。再动态生成并设置总标题文本、字段标题栏矩形框、数据栏矩形框的属性。然后通过一个循环,读出TDBGrid中各字段的标题和数据信息,动态生成报表中各字段的标题标签控件、数据文本控件以及对应的表格分割竖条控件。在类的析构函数里,删除所有由构造函数动态生成的对象。类的打印预览函数实现报表的打印预览功能。其它的函数说明略。 自动生成报表类的定义(GridPrint.h) #include //包含的相关头文件 #include #include

intouch 通过Excel 生成报表

1、自动生成需要的标记名 在intouch开发环境中,将向导库中/趋势/历史向导(HistData)放入窗口,这将自动生成若干标记名(如下)。有关标记名以HDW开头,加上他们的DDE的Item命名。 标记名说明如下: HDWDataDir 消息型历史数据文件的目录的路径名,可用函数赋值。 例如:HDWDataDir = HTGetLogDirectory(); HDWDBDir 消息型intouch标记名字典的目录的路径名,可用函数赋值。 例如:HDWDBDir = InfoInTouchAppDir(); HDWStratDate 消息型与$DataString 相同格式的数据采样开始日期。 例如: HDWStartTime 消息型使用24小时时钟的HH:MM:SS 格式的数据采样开始时间 例如:09:45:33 HDWDuration 消息型数据时间长度(报表时间总长度) 可以用星期,天,时,分,秒,等来表示。下面是有效的 字符:W 星期,D 天,H 小时;M 分,S 秒。允许使用 小数值例如:表示500毫秒;若只需要一个样本,请将Duration 设为零。 HDWInterval 消息型采样间隔的时间长度 可以用星期,日,小时,分,秒来表示例如1W 表示一 星期。允许使用小数值例如:.25d 来表示6小时。有效字 符与HDWDuration相同;注意Duration 和Interval允许的最打

时间长度为6周,这适用于所有请求类型日,秒,等。例如如 果使用日则最大值为42, 7天*6周=42天。 HDWTags 消息型历史数据的标记名列表(报表中需要的标记名) 以taga,tagb;tagz格式输入,此外采样日期或时间可以通过使用 内部系统标记$Date和$Time来请求。 HDWFileName 消息型规定生成的.CSV文件的路径和名称。 例如:E:\111\ HDWWriteFile 整形当设置为1时,HistData 会将请求数据写入由FileName项目 名指定的文件,当文件更新完成后WriteFile 会自动重置为0 Status 离散型显示最后一次操作的状态 1 表示成功,0 表示出错 Error 消息型包含上次错误说明的字符串,如Status 为1 则表示无,如Status 为0 则表示错误消息字符串。 例如:下面脚本生成一个日期由StartData1规定,但包含两个标记名PI-101;TI-101,日报表。可以复制在脚本中,修改一下就可以形成所需的.CSV文件。 HDWStartDate=StartDate1; HDWStartTime=”00:00:00”; HDWDBDir=InfoIntouchAppDir(); HDWDataDir=HTGetLogDirectory(); HDWFilename=” E:\111\”; HDWTags=”$Date,$Time, PI-101,TI-101”; HDWInterval=”1H”; HDWDuration=”1D”; HDWWritefile=1; 例如:设计一个按钮,当按下按钮时,生成一个.CSV表格。生成表格的起始日期,和起始时间可调,表格时间间隔也可调。 新建内存型标签,标签数据类型为消息型:startdate 消息型;starttime 消息型

任务1报表系统概述及利用报表实用模板生成报表

项目五报表系统处理 任务5.1报表系统概述及利用报表模板生成报表 理论目标: 掌握报表系统的主要功能 掌握报表系统的操作流程 掌握报表系统的基本概念 任务目标: 熟练地启用报表系统 熟练地掌握报表模板的使用修改以及报表生成等操作方法 熟练地引入、备份账套 一、报表系统的功能 利用UFO报表系统既能编制对外报表,又可编制各种部报表。UFO报表系统的主要功能有:提供各行业报表模板,文件管理功能,格式设计功能,公式设计功能,数据处理功能,图表功能,打印功能,二次开发功能。 报表模板、格式管理、数据处理、打印是常用到的最主要功能。可以自行设计报表格式,也可以根据报表系统提供的报表模板自动生成报表格式。还可以将报表结果另存为Excel,使用Excel功能对数据进行加工处理。 (一)功能概述 1、文件管理功能 UFO提供了各类文件管理功能,除能完成一般的文件管理外,UFO的数据文件还能够转化为不同的文件格式,例如文本文件、MDB文件、XLS文件等。此外,通过UFO提供的“导入”和“导出”功能,可以实现和其他流行财务软件之间的数据交换。 2、格式设计功能 UFO提供的格式设计功能,可以设置报表尺寸、组合单元、画表格线、调整行高列宽、设置字体和颜色、设置显示比例等。同时,UFO还置了11种套用格式和33个行业的标准财务报表模板,包括最新的现金流量表,方便了用户标准报表的制作。对于用户单位部常用的管理报表,UFO还提供了自定义模板功能。 3、公式设计功能 UFO提供了绝对单元公式和相对单元公式,可以方便、迅速地定义计算公式、审核公式及舍位平衡公式;UFO还提供了种类丰富的函数,在系统向导的引导下可轻松地从用友账务及其他子系统中提取数据,生成财务报表。 4、数据处理功能 UFO的数据处理功能可以固定的格式管理大量数据不同的表页,并在每表页之间建立有机的联系。此外,还提供了表页的排序、查询、审核、舍位平衡及汇总功能。

店铺日报表、周报表、月报表

店铺日报表 日期:___年一月 —日 星期 ______ 天气 ________ 温度 _________ 一:销售数据 1?今日定标: __________ 早班目标 __________ 际完成 _________ 达成率 _____ ■客单价― 带率 _____ 晚班目标 __________ 际完成 _________ 达成率 _______ 客单价― 带率 ______ 本月目标 __________ 积完成 _________ 完成率 _____ 离目标还差 ___________ 平均每日 ________ 达成 ________ % 2?销售前十: 二、货品销售数据 早班 晚班 库存数据: 本日库存 _______ 货 _______ 肖售 _____ 业结库存 __________ 二:会议记录 早班:1.好与不足: 2?总结分析(人货场促销): 3.工作安排: 晚班:1.好与不足: 2.总结分析(人货场促销): 2.工作安排: 三:工作交接: 运营情况:

早班负责人: 晚班负责人:

店铺每周报表 日期:_____ 年____ 月_____ 日至 _______ 年____ 月—日本月第_________ 周. 本月定标:_______ 计完成:_________ 成率:时间比:上升/下降:_________________ 本周定标:_______ 实际完成:________ 成率:同比上周:比率:____________________ 2)人员销售情况: 二、货品销售分析:

3)货品销售总结: ① ② ③ 三、库存分析: 上身: 件。金额; 。库存占比: 计划: 下身: 件。金额; 。库存占比: 计划: 四、周边品牌调查: 五、本周总结; 六、下周计划:

日报表周报表与月报表填写方法细则

日报表、周报表和月报表填写方法细则 1. 日报表 1.1非月初报表的填写 以做1月12号报表为例,截图为修改后的样子 第一步:复制工作表。打开昨日的报表后,选择昨日的工作表并按住ctrl键,鼠标拖住向右拉,松开鼠标时会出现一个新的并与昨天数据相同的工作表。 第二步:修改日期。需要修改五个日期,首先是修改下方的工作 表的名称,将原来的01-11(2)改成01-12。 然后再修改报表右上角的日期 将11改成12 接着要修改三个公式内的日期。气表初值,将日期01-10改成01-11 累计产气量将原来的01-10改成01-11 和累计产水量将原来的01-10改成01-11 这里你会发现公式里的日期比工作表的时间早一天,这是由于01-12号的工作表是引用01-11工作表里的数据。以累计产水量为例,01-11表示引用工作表的日期,L23表示01-11那张工作表中的L列23行的数据,L22表示01-11那张报表中L列22行的数据。此公式的含义就是01-11日的累积产水量加上01-12号的产水量。 第三部:填气表终值。清除气表终值那一列的内容并将01-13号早晨6点抄的气表值填到04:00-06:00那行的气表终值那列那个单元格。所

在的行是。然后再将产气量平均到气表终值那一列。(当出现冻表及其他根据时视情况而定)。 第四步:填产水量。将01-13号早晨抄得的水表值减去01-12号抄得的水表值得到01-12号的产水量,然后再将产水量平均到产水量那一列(特殊情况除外)。 第五步:添加备注。将钻井全天出现的问题实时的注记在备注中,要真实全面。 第六步:检查并保存报表及修改报表日期。检查上边几步都完成并无误后保 存报表,关闭报表并修改报表的名字。将11改成 12。 第七步:发送报表。待五口井都做好后,再分别检查一遍,用公司邮箱发送给指定收件人,并注意信件正文用词的语气和文字的正确性。注意要添加附件,并注意添加报表的顺序。 1.2月初报表的的填写 以01-01报表为例 第一步:复制工作表。以12月31号的报表为基础,选择12月31号的工作表,与非月初报表一样进行复制操作。 第二步:修改日期。将01-01号的工作表的名称(原来的名称为12-31(2))改成01-01并把工作表右上角的日期修改成01月01日。 第三步:填气表初值、累计产水量和累计产气量。将12月31号的终值以数 值形式添到01-01的初值上。 01-01的累计产气量以12-31号的累积产气量的数值形式加上K22也就是 累计产水量则是以12-31号的累积产水量的数值形式加上L22也就是 第四步:填气表终值。与非月初报表同。 第五步:填产水量。与非月初报表同。 第六步:添加备注。与非月初报表同 第七步:检查并删除工作表及修改报表名称。检查报表无误后,将01-01以外的工作表全部删除,然后再保存。最后关闭报表,修改报表名称。 第八步:发送报表。

Intouch报表-EXCEL报表制作教程

用EXCEL打印报表 1.原理 首先根据报表要求,用INTOUCH的附件HISTDATA软件形成一个有规定数据的.CSV 文件(逗号分隔文件,可用EXCEL打开)。这个.CSV文件是英文的,不符合一般报表的要求,只能提供数据。所以需要另设计一个空的EXCEL报表模版,再将.CSV文件的数据复制到报表中,形成完整的报表。 通过INTOUCH可以自动产生.CSV,再通过EXCEL的宏程序打印报表,可以完成招呼打印和定时自动打印。 如果有多个报表,需要形成多个.CSV文件和设计多个EXCEL报表。 大致步骤如下:

2.生成.CSV文件 Step1: 自动生成需要的标记名 在INTOUCH开发环境中,将向导库中\趋势\历史趋势向导(HistData)放入窗口。这将自动形成若干标记名(Tag)。有关标记名以HDW开头加上它们的DDE的ITEM命名。 这些标记名说明如下: HDWDATADIR 消息型历史数据文件的目录的路径名,可用函数赋值 例如HDWDataDir = HTGetLogDirectory(); HDWDBDIR 消息型InTouch 标记名字典的目录的路径名,可用函数赋值 例如HDWDBDir = InfoInTouchAppDir(); HDWSTARTDATE 消息型与$DateString相同格式的数据采样开始日期HDWSTARTTIME 消息型使用24 小时时钟的HH:MM:SS 格式的数据采样开始时间HDWDURATION 消息型数据时间长度(报表时间总长度) 可以用星期,天时,分,秒,等来表示下面是有效的字 符:w 星期,d 天,h 小时,m 分,s 秒。允许使用 小数值例如扩.5s 表示500 毫秒若只需一个样本请 将DURATION 设为0 零 HDWINTERVAL 消息型采样间隔的时间长度 可以用星期日小时分和秒来表示例如1W 表示一星期 允许使用小数值例如用.25d 来表示6小时 有效字符与HDDURATION相同 注意DURATION 和INTERVAL 允许的最大时间长 度均为6 周这适用于所有请求类型日秒等例如如果 使用日则最大值为42,7 天x 6 周= 42

Excel如何设置自动生成分页报表

Excel如何设置自动生成分页报表 篇一:exceL表格分页技巧 经常在excel中制作表格时,我们不可能仅仅只作一个表格,有时可能会在一个工作簿中制作多个表格。但我们又希望将所有的表格分别打印到每一张纸上面,每张纸上面只打印一个表格,那么,我们应该如何实现呢?有许多朋友都是重建新工作簿,再将表格一个一个的剪切到新工作簿中,每个工作簿里面放一个表格,最后再一个个的打印出来。虽说这种方法可以实现,但是操作比较繁琐。其实有更好更简单的方法,利用excel中的分页功能,在一个工作簿中打印出多个表格,每张纸上面打印一个表格。 excel中如何设置手动分页打印 现在工作簿中有4个表格,我希望每张纸上面打印一个表格,分别用4张纸打印出来。 ①进入视图选项卡,单击工作簿视图选项组中的分页预览; ②上图分页预览中只有2页,分别是第1页和第2页。我们将光标移动右下角边框处,当鼠标变成双箭头时,按住左键不放,拖动边框,直到看见第3页和第4页的时候就放开鼠标;(如下图) ③现在excel就可以打印4个页面出来了,但我们还需要将上面两个表格剪切到下面来才行,剪切完成如下图: 好了,现在分页已经完成了,打印工作簿的话,会打印4张纸,每张

纸上面一个表格,下面再来说说如何自动分页打印! excel中自动分页页面设置 纵向/横向设置:单击页面布局选项卡,单击页边距,选中最下面的自定义边距,在弹出的页面设置中可以选中纵向或横向; 分页的页边距设置:然后进入页边距设置上、下、左、右的边距大小; 所以页面的页眉页脚设置:你也可以自定义页任意设置眉和页脚。excel中快速插入分页符和删除分页符 先将光标定位到需要加分页的位置,然后单击页面布局选项卡中的分隔符,选中插入分 页符或者删除分页符。如果想重新设置所以的分页效果,可以选中重设所有分页符。 篇二:如何设置电子表格分页相同的标题行 如何设置电子表格分页相同的标题行 20XX-07-0209:49:49|分类:|标签:|字号大中小订阅要想电子表格每而显示和第一页相同的标题,用以下方法: 页面设置——工作表——顶端标题行——输入第一页标题行的代码。如A2:D2如果是两行标题:用(A1:D1):(A2:D2)格式。 注意中间用冒号。 篇三:excel小计自动分页打印的方法 excel小计自动分页打印的方法 在使用excel处理数据的时候,我们常常遇到小计的问题;即:间断性的对部分数据进行合计;

店铺日报表、周报表、月报表

店铺日报表 日期:___年___月___日星期____ 天气_____ 温度_____ 一:销售数据 1.今日定标:_________ 早班目标_______实际完成_______达成率____客单价___连带率____ 晚班目标_______实际完成_______达成率____客单价___连带率____ 本月目标_______累积完成_______完成率____离目标还差_________ 平均每日_______可达成_____% 2.销售前十: 早班晚班 库存数据: 本日库存______进货_____销售_____业结库存_______ 二:会议记录 早班:1.好与不足: 2.总结分析(人货场促销): 3.工作安排: 晚班:1.好与不足: 2.总结分析(人货场促销): 2.工作安排: 三:工作交接: 早班负责人:晚班负责人:

店铺每周报表 日期:_____年____月____日至_____年____月___日本月第____周. 本月定标:______累计完成:_______完成率:____时间比:____上升/下降:______ 本周定标:______实际完成:_______完成率:____同比上周:_____ 比率:_______ 营业员:______本周业绩:______本周完成率;___排名;__月累计:______完成率:营业员:______本周业绩:______本周完成率;___排名;__月累计:______完成率:营业员:______本周业绩:______本周完成率;___排名;__月累计:______完成率:营业员:______本周业绩:______本周完成率;___排名;__月累计:______完成率:营业员:______本周业绩:______本周完成率;___排名;__月累计:______完成率:营业员:______本周业绩:______本周完成率;___排名;__月累计:______完成率:

用excel自动生成《国资委企业财务决算报表》数据

用excel自动生成《国资委企业财务决算报表》数据 《国资委企业财务决算报表》系统,一下简称《系统》,表格较多,填报工作量大,相关表之间又存在勾稽关系,在实际填报时即麻烦又容易出错,现在我介绍一种简便填报方法,能够达到既快又准的效果,极大程度提高了工作效率。 一、导出Excel报表 《系统》,提供了报表数据于Excel的连接,可直接将已有的报表数据导入到Excel中,生成Excel表格。其格式和《系统》内报表完全相同。 为了方便操作,我尽量详细说明,并附《系统》相同图示。 1、启动《系统》(如图1)

图1 2、单击“传送”菜单下的“导出到Excel”子菜单,出现如下窗口(如图2)

图2 3、在弹出的窗口中选择要导出数据的单位,单击“确定”按钮;出现如下窗口(如图3)

图3 4在弹出的窗口中单击按钮,选择导出Excel文件的保存路径; 5、选择要导出Excel的报表(点全选),单击“确定”按钮即可。 到此《系统》内部报表已完整成功导出来了。为了方便叙述,我们导出的国资委excel报表定名称为《国资委excel表》。 二、数据采集

1、首先导出一个年度《科目发生额及余额表》 成功导出《国资委excel报表》才算顺利完成了第一步,接下来就是数据的采集问题,既如何快速完成数据的录入工作。 此方法技术含量较低,不使用连接数据库技术,一般人员都能够掌握,如果你现在使用了财务软件,那更方便数据的采集了。 打开财务软件导出一个年度《科目发生额及余额表》,设定会计科目为二级,导出格式为excel,(具体方法不在赘述) 把年度《科目发生额及余额表》插入到《国资委excel报表》工作簿中,成为《国资委excel报表》中的一个工作表。把《科目发生额及余额表》命名为“基本数据”。

用excel自动生成《国资委企业财务决算报表》数据

用excel自动生成《国资委企业财务决算报表》数据 《国资委企业财务决算报表》系统,一下简称《系统》,表格较多,填报工作量大,相关表之间又存在勾稽关系,在实际填报时即麻烦又容易出错,现在我介绍一种简便填报方法,能够达到既快又准的效果,极大程度提高了工作效率。 一、导出Excel报表 《系统》,提供了报表数据于Excel的连接,可直接将已有的报表数据导入到Excel中,生成Excel表格。其格式和《系统》内报表完全相同。 为了方便操作,我尽量详细说明,并附《系统》相同图示。 1、启动《系统》(如图1)

图1 2、单击“传送”菜单下的“导出到Excel”子菜单,出现如下窗口(如 图2)

图2 3、在弹出的窗口中选择要导出数据的单位,单击“确定”按钮;出现 如下窗口(如图3)

图3 4在弹出的窗口中单击按钮,选择导出Excel文件的保存路径; 5、选择要导出Excel的报表(点全选),单击“确定”按钮即可。 到此《系统》内部报表已完整成功导出来了。为了方便叙述,我们导出的国资委excel报表定名称为《国资委excel表》。 二、数据采集

1、首先导出一个年度《科目发生额及余额表》 成功导出《国资委excel报表》才算顺利完成了第一步,接下来就是数据的采集问题,既如何快速完成数据的录入工作。 此方法技术含量较低,不使用连接数据库技术,一般人员都能够掌握,如果你现在使用了财务软件,那更方便数据的采集了。 打开财务软件导出一个年度《科目发生额及余额表》,设定会计科目为二级,导出格式为excel,(具体方法不在赘述) 把年度《科目发生额及余额表》插入到《国资委excel报表》工作簿中,成为《国资委excel报表》中的一个工作表。把《科目发生额及余额表》命名为“基本数据”。

用ExcelVBA方法实现报表自动生成

本文由geosouth贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 第 25 卷第 1 期 2009 年 1 月 电力科学与工程 Electric Power Science and Engineering Vol.25, No.1 Jan., 2009 73 用 Excel VBA 方法实现报表自动生成 王靖 1,王林 1,周金文 2 (1. 中国石油华北石化公司机动设备处,河北任丘 062552;2. 中国石油华北油田公司,河北任丘 062552) 摘要:针对实时报表应用中的一些不足,介绍了如何利用 Excel VBA 来实现 InTouch 组态界面下报表的自动生成.该方法不破坏 InTouch 的安全性设置,不引入第三方软件,不需要操作人员人工干预. 关键词:VBA;录制宏函数;自动报表生成中图分类号:TP319 文献标识码:A 据库中的项目用于指定起始周期, 持续时间及采样 0 引言间隔等,以便访问历史数据.HistData 实用程序采用"动态数据交换" DDE(Dynamic Data Ex众所周知, 实时报表的编写方法虽然众多, 但 change) 技术访问 InTouch 创建的历史数据文件. 是程序步骤相当繁琐, 报表功能也受到很多限制. 它可以将所选的历史数据移入提出请求的程序, 如一些现成的水晶报表灵活性不够, 根本无法满足数 Microsoft Excel,并生成一个扩展名为 CSV 的文据报表的多种需求. 特别是组态时, 考虑到组态软件.该文件可以用 Excel 打开. 件浏览器的安全性设置, 只能让操作人员操作监控历史数据的访问可通过在提出请求的程序中使画面,而不能进入 WINDOWS 界面.第三方报表用宏函数或直接在 InTouch 中实现,并且需要定软件的引入势必牵涉到操作系统对该软件的激活, 义与 HistData 程序相关的各个项目.在 InTouch 这与浏览器的安全性设置相矛盾. 鉴于此, 本文提中编写条件脚本程序,让 InTouch 在既定的时刻出用 Excel VBA 来实现 InTouch 组态界面下报表 (如上午9:15)将电力监控系统 6 kV 运行日志需自动生成的方法. 要统计的 24 个整点时刻的数据写入 CSV 文件. 第 2 步,从已经生成的 CSV 文件中读取数据 1 自动生成方法的实现放入报表文件中 (利用 EXCEL 中的 VBA 编程) . 导入 CSV 文件,利用 VBA 录制宏函数,将报表实现过程中, 利用了常规办公软件 Office Excel 中的内嵌工具 Visual Basic 编辑器(Excel 菜单下工具——宏——Visual Basic 编辑器) ,程序非常简单. 此方法不用制作操作界面, 不需值班员的干预, 自动生成报文并交付打印机打印; 报表生成时不破坏InTouch 的安全性设置.此方法共分 4 个步骤. 第 1 步,利用 InTouch HistData 与Intouch 条件脚本生成 CSV 文件. InTouch HistData 是工控组态软件 InTouch 的一个控件, 程序包含自己的内部数据库. 内部数工作表有效区域的单元格中的数据填入既定的 EXCEL 工作表中(例如:1 号开闭所报表自动打印 . xls) ,生成报表表格的格式在该工作表中已设定好. 号开闭所报表自动打印 .xls" VBA Project "1 : 中结合录制宏函数生成程序模块 kbs1, 具体如下. '录制昨天 9 点至今天 8 点的整点报表 Workbooks. Open Filename: ="E: \ 报表. CSV" '在 Excel 中打开 Intouch 生成的 CSV 文件 Range ( "C2: AC25 " ) . Select '选定范围为需要录制的数据 收稿日期:2008 08 22. 作者简介:王靖 (1974 -), 男, 中国石油华北石化公司机动设备处工程师. 74 电 力 科

报表自动生成

报表自动生成制作方法与相关设置 报表的自动生成需要从三个方面来确保其功能的实现:1、Excel报表模版的制作;2、配置好相应的打印机;3、在PKS服务器上对报表自动生成及打印进行相关设置。下面从这三个方面介绍详细的制作过程。 一、Excel模版的制作 Excel本身就有强大的数据库功能与数据连接功能,需要通过相应的命令程序使Excel表格按照我们的需求自动的从服务器读取到生产数据。 首先需要对Excel进行设置,打开其数据交换功能,如图所示,具体方法略。 图1 打开Excel数据交换功能后,可利用Excel支持的命令程序使其自动获取数据。按照每两小时整点读取一次数据,每天早晨8点刷新上一日报表进行当日报表生成,所用的命令如附表所示。 二、打印机配置 打印机连接在中控室4#操作站上,以Station 4#作为连接打印机的主机在网内对打印机进行共享。在主机上设置共享后,服务器作为丛机需要将网络打印机添加到本机上,添加好打印机后,在PKS的操作界面上进入System Configuration的Printer打印机设置界面,启用刚建立的打印机即可。 注:(1)在此处添加网络打印机时,在网内查找共享打印机,须在地址栏里输入\\LCR_WS4,将此地址下的打印机共享,而不是\\10.10.10.27。尽管二者所代表的是同一台计算机,但名称上的不同可能会造成一些故障导致报表打印无法完成。 (2)在服务器上的Administrator用户下添加上打印机后,还要在Mngr用户下同样添加打印机。Mngr用户下添加好打印机后不用再在PKS界面上进行打印机设置。 三、PKS设置 Excel表格制作是做出来一个报表的模型,要读取哪些数据,以及何时进行读取。PKS 设置就是为了在每天早晨8点Excel报表开始当天数据录入而清除头一天数据之前,将前一日已生成的报表另存一个备份,放在指定的地方,并按照设定进行打印任务。

相关文档
相关文档 最新文档