基于自定义模板的通用报表设计

合集下载

自定义报表的设计与实现

自定义报表的设计与实现

和维护的效率,又可以增加系统的灵活性。

报表基本上分为两类:一类是静态格式报 表,如票据、账单,它格式复杂但固定;另一 类是动态格式报表,如统计报表,它的表体会 随着记录数的多寡而变化。

当前的很多报表工具虽然具有一定的通用性,但绝大部分都只能 适应上述的某一类报表,而且其通用性只相对 于开发人员而言,只有开发人员才能修改报 表,用户无法或者只能少量地定义和修改,所 以形成了一段程序对应一种报表的局面。

当系 统的报表种类很多时,就会使系统变得很复 杂,不便于开发和维护。

为了解决这一问题,我们以 Delphi 为工 具开发了一个用户可自定义的通用报表工具的 DLL 。

它适用于上述两类报表,对于相似的报 表可共用同一段程序实现,具有很强的通用 性;而且在一定程度上用户还可以自定义报表 的格式,进行排版,具有很强的自定义性。

1 通用报表设计 1.1 报表组成分析 通过对各种不同的报表实例的分析,总结出报表都是由许多个“表格项”组成的,一个 “表格项”包括:一个标题单元格和多个“表 格值”单元格 (可缺省),为了便于管理,可 再定义由多个“表格项”共同组成的“表格项 组”。

所以,报表都可以被认为是由许多个 “表格项组”组成的。

报表组成结构如图 1 所 示。

在拆分报表成员之后,下面定义各个成员 的部分属性: (1) 报表:代号、名称、页面设置、备注 等; (2) 表格项组:代号、所属报表代号、左 上角坐标、高度等; (3) 表格项:代号、所属报表代号、所属 表格项组代号、标题、宽度、线宽、布局、靠 左优先级、与表格值尺寸比; (4) 表格值:代号、所属报表代号、所属 表格项代号、标识、值、文字对齐方式、字 体。

部分属性说明: 布局:表示“表格值”与标题的相对位置 关系,包括左右布局和上下布局; 靠左优先级:它越小表示该“表格项”在 所属的“表格项组”里的位置越靠左; 与表格值尺寸比:当“上下布局”时,该 属性表示标题高度和表格值单元格高度的比 值;当“左右布局”时,该属性表示标题宽度 和表格值单元格宽度的比值比等属性值来计算所得。

易飞标准自定义财务报表格式设计

易飞标准自定义财务报表格式设计
边,其余报表都不管此字段的设置皆靠左边。账户式资 产负债表是左右结构,左边列示资产,右边列示负债和 所有者权益。
易飞标准自定义财务报表格式设计
录入报表格式-空格
仅能输入0-9,默认为0,表示本行打印时,前面需空 格的格数
路漫漫其悠远
易飞标准自定义财务报表格式设计
录入报表格式-科目
[F2]会计科目信息查询,名称、别名默认抓ACTMA 中的信息,可以修改。
手工输入格式:输入格式,工作繁重,容易
出错
路漫漫其悠远
易飞标准自定义财务报表格式设计
录入报表格式-从模板导入格式
期初开账引入会计科目的同时导入标准的报表格式
路漫漫其悠远
易飞标准自定义财务报表格式设计
录入报表格式设计
录入报表格式-打印码1
路漫漫其悠远
易飞标准自定义财务报表格式设计
自定义会计报表-从模板中导入报表
路漫漫其悠远
易飞标准自定义财务报表格式设计
自定义会计报表-标题栏行数
定义单身中最上方的几栏是报表中的标题栏,标题 栏在打印时是每页都固定在表身上方的对于大多数 财务报表标题栏行数都是1
路漫漫其悠远
易飞标准自定义财务报表格式设计
易飞标准自定义财务报 表格式设计
路漫漫其悠远
2020/11/16
易飞标准自定义财务报表格式设计
报 表 设 计
路漫漫其悠远
课程大纲
1 录入报表格式 2 自定义会计报表 3 常见问题分析 4 问与答
易飞标准自定义财务报表格式设计
报 表 设 计
路漫漫其悠远
课程大纲
1 录入报表格式 2 自定义会计报表 3 常见问题分析 4 问与答
易飞标准自定义财务报表格式设计

利用WPS进行自定义财务报表的方法

利用WPS进行自定义财务报表的方法

利用WPS进行自定义财务报表的方法大家好,今天我们要探讨的话题是如何利用WPS进行自定义财务报表。

WPS作为一款功能强大的办公软件,不仅能够处理文字、表格、演示等基础办公任务,还可以帮助我们制作各种专业的财务报表。

接下来,我将为大家分享一些简单而有效的方法,让你能够轻松地定制符合自己需求的财务报表。

1.选择合适的模板在利用WPS制作财务报表之前,首先要考虑选择合适的模板。

WPS自带了许多财务报表模板,涵盖了各种不同类型的报表,如资产负债表、利润表、现金流量表等。

选择一个与你所需报告类型相符的模板能够为你的工作省去许多麻烦。

2.导入数据并调整格式一旦选定了模板,接下来就是导入数据并进行适当的调整格式。

你可以直接在WPS中输入数据,也可以将已有数据表格导入到WPS中,然后根据需要进行排版和格式调整。

确保数据的准确性和清晰性对于制作财务报表至关重要。

3.添加图表和图形财务报表通常需要具备直观的数据展示,这时候添加图表和图形就显得尤为重要。

WPS内置了丰富的图表和图形类型,如折线图、柱状图、饼图等,可以帮助你以更生动的方式呈现数据,让人一目了然。

4.使用公式和函数WPS的公式和函数功能非常强大,能够帮助你快速进行数据计算和分析。

在制作财务报表时,一些复杂的计算和汇总需要依靠公式和函数来完成,熟练运用这些功能将会提高你的工作效率。

5.设定打印选项在完成财务报表的制作之后,别忘了设定好打印选项。

你可以在WPS中预览打印效果,调整页面布局和打印尺寸,确保报表能够以最佳状态呈现出来。

通过以上这些方法,相信你已经掌握了利用WPS进行自定义财务报表的技巧。

无论是个人财务报表还是企业年度财报,都能够通过WPS轻松实现定制化编辑,让你的报表更具专业性和实用性。

现在,赶紧动手尝试一下吧,相信你会发现制作财务报表也可以变得如此简单而充满乐趣!利用WPS进行自定义财务报表,可以帮助我们轻松高效地制作出符合个人或企业需求的专业报表,提升工作效率和质量。

利用VBA生成自定义的报表

利用VBA生成自定义的报表

利用VBA生成自定义的报表在现代工作场景中,生成准确、可读性好的报表对于管理决策和业务分析至关重要。

为了提高工作效率,许多公司和组织利用计算机软件来自动生成各种类型的报表。

而利用VBA(Visual Basic for Applications)编程语言可以为Excel等办公软件添加自定义功能,从而帮助我们生成专业、个性化的报表。

VBA是一种强大的编程语言,它可以与Excel等Microsoft Office软件紧密结合,方便用户通过编写脚本自动化完成各种重复性工作。

接下来,我将为您介绍如何利用VBA生成自定义的报表。

首先,我们需要打开Excel并启用开发者选项。

方法是点击“文件”选项卡,选择“选项”,在弹出的对话框中选择“自定义功能区”和“开发者”,然后点击“确认”。

接下来,我们需要创建一个宏来生成报表。

请注意,以下示例中的代码仅用于演示目的,实际使用时可能需要根据具体需求进行修改。

``` VBASub Generate_Report()'声明变量Dim ws As WorksheetDim rng As RangeDim i As Integer'设置报表工作表Set ws = ThisWorkbook.Sheets("报表")'清除原有数据ws.Cells.Clear'设置报表标题ws.Cells(1, 1) = "销售报表"'设置列标题ws.Cells(3, 1) = "序号"ws.Cells(3, 2) = "产品名称"ws.Cells(3, 3) = "销售额"'设置数据Set rng = ws.Range("A4")For i = 1 To 10rng.Offset(i, 0) = irng.Offset(i, 1) = "产品" & irng.Offset(i, 2) = i * 1000Next i'设置格式ws.Range("A1:C1").Font.Bold = True ws.Range("A3:C3").Font.Bold = True '自动调整列宽ws.Columns.AutoFit'显示报表ws.ActivateEnd Sub```在以上代码中,我们首先声明了一些变量,包括一个代表报表工作表的`ws`、一个代表数据区域的`rng`和一个用于循环的计数器`i`。

自定义报表设计方案

自定义报表设计方案

关于自定义报表设计方案方案设计中间件设计方案:结合客户端控件、服务器组件和主程序本身开发中间件式WEB设计器。

比如常用技术采用:C/S模式的报表设定器->生成XML报表模板->发布到WEB服务器中->通过程序(JSP/ASPX)向报表引擎中传入参数(报表条件等)->报表引擎处理、展现数据。

现列出广州市国土资源和房屋管理局花都分局房地产登记薄管理系统建设项目招标文件中”自定义报表需求”:评分表中对该模块的评分如下:仔细分析了需求,主要是对报表设计器的需求和对生成的报表打印功能的需求。

●设计器与BS平台集成在一起,设计器要求是BS的,可以是BS的吗?仔细考虑了很久,设计器是BS和CS应该是可以选择的●设计器要求直观,易用,采用拖拽的方式设计报表的样式、控件和绑定数据集●设计器支持生成不同类型的报表如固定行列、简单扩展、分组、交叉、标签、分栏、图表等报表类型,并且也要支持不同类型报表的复杂组合●生成的报表可以方便支持各种打印功能:精确打印,支持套打、按行列分页、固定表头、批量打印于是在明确了需求的基础上,考虑通过怎么样的技术去实现.●使用研发中心的designer ?无法实现。

designer只能设计简单的表单和非常简单的报表,简单扩展、分组、交叉、标签、分栏、图表报表都是无法实现的●使用开源报表工具:仔细研究了几个开源报表工具ireport&JasperReport 、jfreeReport发现都无法满足需求,后来再网上发现了快逸报表、润乾报表、FineReport,好好了熟悉了一下他们的使用,仔细对比了一下,最后觉定:FineReport是我们原型设计中最好的选择,基本上可以实现标书中对自定义报表的各种需求,当然啦,用免费版的啊,如果完成不了就需要二次开发了。

附:基于BS的网上报表设计方案(部分)作者:匿名文章来源:Java业界新闻网时间:2007-4-8 11:32:37 阅读次数:438问题分析报表系统开发涉及的问题是很多的,主要存在如何获取、如何显示和生成、如何存储等数据和样式的多样性。

WPS报表设计实战创建自定义报表模板

WPS报表设计实战创建自定义报表模板

WPS报表设计实战创建自定义报表模板WPS报表是一款功能强大的办公软件,它提供了多种报表设计功能,使得用户能够根据自己的需求定制报表模板。

本文将详细介绍如何在WPS报表中实战创建自定义报表模板。

一、报表设计前的准备工作在开始创建自定义报表模板之前,我们需要进行一些准备工作。

首先,明确报表的数据来源,确定需要展示的数据类型和格式。

其次,分析报表的布局与结构,合理安排报表的各个部分,使其逻辑清晰、美观大方。

最后,收集所需的图表、表格、文字等素材,以备后续使用。

二、创建自定义报表模板1. 打开WPS报表软件,选择“新建”进行报表的创建。

2. 在新建的报表中,可以通过插入图表、表格、文字框等功能,将素材添加至报表中。

插入图表时,可根据需要选择不同类型的图表,如折线图、柱状图、饼状图等。

插入表格时,可以自定义行列数目,并填充数据。

3. 在报表的每个部分中,可以对字体、颜色、边框等进行调整,以达到美观的效果。

同时,可以通过合并单元格、调整行高列宽等操作,优化报表的布局。

4. 在报表中,还可以添加公式和函数,对数据进行计算和分析。

通过设置条件格式,可以对数据进行颜色标记,以便快速筛选和分析。

5. 在报表的底部或侧边栏,可以添加页码、日期、公司标识等信息,使报表更加专业。

三、保存和应用自定义报表模板1. 当自定义报表模板创建完成后,可以选择“文件”-“另存为模板”,将其保存为模板文件,方便后续的应用和修改。

2. 在需要使用报表模板的时候,选择“新建”并在模板选项卡中找到自己保存的报表模板。

点击“创建”即可打开模板,并开始填充数据。

四、报表设计实战技巧1. 在设计报表时,要注意对齐和间距的统一,保持报表的整洁美观。

2. 对于复杂的报表,可以采用分页展示,使用不同的工作表或多个报表文件进行组合展示。

3. 在报表中使用图表时,要选择合适的图表类型以及正确的图表数据源,避免图表数据的混淆和错误。

4. 使用合适的颜色和字体样式,以突出重点信息。

自定义报告模板制作

自定义报告模板制作

用户自定义报告模板(实例)要建立CDS报告模板,首先要了解CDS报告模板格式:在模板指定范围内添加了某个指标的报表条目,CDS生成报告里面就可以进行该指标的统计。

1、什么是CDS模板指定范围?在A1单元格填写#CDS#**,代表A1到**范围内为模板指定范围如上图所示:A1单元格显示的#CDS#G4,代表A1-G4范围内的报表条目是有效的。

如果需要增加统计项可以手动将范围扩大,如:把#CDS#G4改为#CDS#I4;2、什么是报表条目报表条目里面定义了指标统计方法,每个报表条目都含有一个指标及该指标的统计方法。

如:图中显示的#CDS#MS1#S#Attach trial num(CQT)就是CDS报表条目,在CDS软件中的条目管理窗口可以找到该条目,并可以看到该条目是代表哪个指标和该指标的统计方法。

3、简单说明以上图为例:C4单元格内填写了报表条目标识:#CDS#MS1#S#Attach trial num(CQT),C4在指定范围内,那么在C4-C203范围内可以显示该统计指标(ATTACH尝试次数)。

具体显示行数由生成报告时候添加的log数量决定(log数目<200)。

如果统计时只添加两个log,则只显示两行,在C4和C5分别显示这两个log的该指标(ATTACH尝试次数),图例如下:建立CDS模板步骤:1、打开一个EXCEL表作为模板,在A1单元格输入#CDS#**,用于确定EXCEL内的有效范围:例如输入#CDS#G4,代表A1-G4内都是有效范围2、从第二行开始,建立你需要的报告格式。

如上图第二行分别写了ATTACH的尝试次数和成功次数等等3、在指标名称下面分别填入:各个指标的报表条目标识(注意填入报表条目标识的单元格,需要在A1单元格设置的有效范围内)3-1、报表条目的建立a、确定指标的统计方法(是时间段的统计、还是距离段的统计、或其他)b、根据统计方法在模板种类里面选择一个相应的统计c、新建一个空条目d、在空条目上设置指标的统计方案(是统计数值、还是统计百分比、或其他)e、如果统计的指标是百分比,可能要使用过滤器,如果软件没有内置该过滤器、则需要建立新的过滤器(建立过滤器方法请参考附录、也可以参考实例2)3-2、复制报表条目标识到EXCEL中a、多文件报表条目标识(统计所有log该指标的汇总);例:在D3填入的是”多文件报表条目标识”,生成报告的时候在D3位置显示所有log该指标的汇总,对其他单元格没有影响。

自定义报表设计方案

自定义报表设计方案

关于自定义报表设计方案方案设计中间件设计方案:结合客户端控件、服务器组件和主程序本身开发中间件式WEB设计器。

比如常用技术采用:C/S模式的报表设定器->生成XML报表模板->发布到WEB服务器中->通过程序(JSP/ASPX)向报表引擎中传入参数(报表条件等)->报表引擎处理、展现数据。

现列出广州市国土资源和房屋管理局花都分局房地产登记薄管理系统建设项目招标文件中”自定义报表需求”:评分表中对该模块的评分如下:仔细分析了需求,主要是对报表设计器的需求和对生成的报表打印功能的需求。

●设计器与BS平台集成在一起,设计器要求是BS的,可以是BS的吗?仔细考虑了很久,设计器是BS和CS应该是可以选择的●设计器要求直观,易用,采用拖拽的方式设计报表的样式、控件和绑定数据集●设计器支持生成不同类型的报表如固定行列、简单扩展、分组、交叉、标签、分栏、图表等报表类型,并且也要支持不同类型报表的复杂组合●生成的报表可以方便支持各种打印功能:精确打印,支持套打、按行列分页、固定表头、批量打印于是在明确了需求的基础上,考虑通过怎么样的技术去实现.●使用研发中心的designer ?无法实现。

designer只能设计简单的表单和非常简单的报表,简单扩展、分组、交叉、标签、分栏、图表报表都是无法实现的●使用开源报表工具:仔细研究了几个开源报表工具ireport&JasperReport 、jfreeReport发现都无法满足需求,后来再网上发现了快逸报表、润乾报表、FineReport,好好了熟悉了一下他们的使用,仔细对比了一下,最后觉定:FineReport是我们原型设计中最好的选择,基本上可以实现标书中对自定义报表的各种需求,当然啦,用免费版的啊,如果完成不了就需要二次开发了。

附:基于BS的网上报表设计方案(部分)作者:匿名文章来源:Java业界新闻网时间:2007-4-8 11:32:37 阅读次数:438问题分析报表系统开发涉及的问题是很多的,主要存在如何获取、如何显示和生成、如何存储等数据和样式的多样性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于自定义模板的通用报表设计
作者:金百东
来源:《计算机时代》2009年第10期
摘要:提出了一种实现通用报表的新思想:将Excel文件转化生成自定义模板文件,模板文件包括报表的静态及动态两部分内容,静态部分主要封装了表格结构信息,动态部分主要封装了SQL语句以及与静态部分相关联信息,模板文件可以存入服务器数据库中;客户端通过通用打印组件完成报表的输出。

关键词:通用报表;自定义模板;Excel文件;通用打印组件
引言
目前,通用报表组件有两种常用开发方法:①利用第三方组件技术。

第三方组件如水晶报表或国内的CELL系统软件等,这些系统均包含可视化的报表生成器,可以用它们方便地生成报表模板文件,打印输出则由系统提供的标准打印组件通过解释模板文件来完成。

这种方法的优点是:编程量很少,一般来说只需要知道如何调用标准打印组件接口和这些接口所需要的参数就可以了。

但是如果计算机配置较低的话,打印响应速度稍慢。

另外报表系统软件价格较高。

②完全重新开发,开发内容包括报表生成器及报表打印组件等。

这种方法的优点是系统响应速度快,容易扩充。

但是功能很难超越水晶报表等成熟软件,而且开发费时费力。

本文提出的实现通用报表的方法巧妙地继承了上述两种方法的优点,又弥补了它们的不足。

所用开发平台是Visual C++6.0,数据库是sQL Server 2000。

1实现通用报表需解决的问题
通用报表开发的基本思路几乎都是一致的:即采用模板技术,先生成空模板文件,再用程序把数据填充到模板上。

模板文件主要包含以下两部分内容:
静态部分对大多数企事业单位的报表来说,每种业务对应的报表形式是固定的,如行数、列数、文字说明部分、边框特征等,这些都属于静态框架描述部分。

应用程序通过这些描述可以画出表格的结构。

动态部分描述如何把数据库相应内容或其它数据动态地填充到空表格上。

相比较而言,构造报表中的表格以及文字说明是比较烦琐的。

对表格边框来说,有的是粗线,有的是细线,有的有边框,有的无边框或部分有边框,有的是合并单元格;对文字说明来说,字体名称、大小、对齐方式等等也是有多种变化的。

动态填充部分的描述相对容易一些,一般来说只要把单元格位置与相应的SQL语句关联起来就可以了。

2通用报表设计思想
通用报表程序一般包括两部分:报表生成器程序、打印组件程序。

报表生成器完成报表模板的静态及动态设计,生成模板文件;打印组件程序负责解析该模板,完成打印输出。

本文所述通用报表设计的关键步骤如下:①充分利用Office软件中Excel强大的报表功能,首先在Excel中绘制出表格形状,即静态框架部分的内容;再通过加批注方式加入动态填充部分的内容,之后保存此Excel模板文件。

②用程序通过一定的方式解析此Excel模板文件,转换成自定义格式的新的模板文件。

③把获得的自定义格式模板文件数据以二进制方式导入数据库中。

也就是说,数据库中有一个报表描述表,仅含两个字段,第一个是报表名称,作为关键字;第二个字段是对应的模板数据。

④客户端应用程序通过报表名称,调用打印组件程序,获取服务器端对应的报表描述表中的自定义模板数据,通过解析该数据,完成报表的输出。

该方法的优点在于:一是充分利用了Excel制表功能,省去了静态框架部分的设计;二是自定义模板的文件格式是自定义的,因此可以在程序中灵活控制。

3通用报表关键技术实现方法
3.1静态部分的实现
3.1.1实现原理
实现静态部分的关键在于如何抽象表格的问题。

笔者把表格抽象成单元格,屏蔽了表头、表体、表尾的差异,把它们均当做一个个的单元格来处理。

这种处理方式与Excel系统软件的处理相似,因此可以借助Excel文件生成自定义格式的静态框架描述部分的内容。

绘制一个表格,前提条件是要获得表1中各变量的数值。

根据表中1、2两项,可以知道表格的具体大小及每个单元格的具体位置。

每个单元格边框、字体、对齐方式、范围等属性是由表中3、4两项决定的,非合并单元格仅含一个单元格,合并单元格包含至少两个单元格。

画表格就是画一个个单元格的过程。

3.1.2单元格属性参数的获得
从Excel文件中获得表1中单元格属性的各参数值,常用方法有以下两种。

(1)利用Excel读写组件
此组件是由北京用友华表软件公司研制的,包含了大量的解析Excel文件的接口函数,可以读取Excel文件,方便地获取各参数值。

这种方法方便、快捷、稳定性也比较好。

(2)利用COM技术
系统文件Exce19.olb满足COM编程规范,通过用#import Exce19.olb语句可以导出与Excel应用程序通讯的所有OLE自动化接口类及相关函数,从中可以找到表1中内容所需的接口函数。

3.2动态部分的实现
3.2.1实现原理
在Excel中单元格加批注,加入动态数据导入表格的全部描述,选择的单元格一般是第一个单元格,之后,用程序把批注内容转换为自定义格式的模板文件的动态填充部分。

应用程序获得批注内容的方法仍采用3.1.2中描述的方法:利用Excel读写组件或利用COM技术。

之所以用Excel软件中的批注功能,是因为它不会影响Excel模板文件的报表外观,只有鼠标移到加批注的单元格时,批注的内容才会以单独的窗口显示出来。

3.2.2实观类型
从上文描述知道:当把报表抽象成单元格时,则画报表就变得容易多了,因为静态框架描述部分的内容结构是确定的,但动态填充部分仍要分成表头、表体、表尾三部分分别处理:
(1)表头、表体均对应一条SQL语句
表头一般是非正规表格,动态描述部分应为:标志位+表头单元格填充坐标组+对应SQL 语句。

表体是正规的二维表格,描述内容应为:标志位+单元格填充起始坐标+对应SQL语句,当然还应该把一页填充的记录数加进去。

标志位的作用是判断报表的类型,以下同。

(2)表体对应一条SQL语句
描述结构为:标志位+单元格填充起始坐标+对应SQL语句+每页记录数。

(3)空表格
描述结构为空,仅有—个标志位。

(4)表格数据是人为添入的
描述结构为:标志位+单元格填充位置坐标组+储存填充单元格信息的字符串数组。

以上是四种常用的表内动态数据导入方法,可以根据需要加以扩充。

3.2.3应用方法
一般来说,在Excel批注功能中输入的是文本内容,最好采用标准的INI文件格式,以3.2.2表内数据导入方法(2)为例,相应的INI文件格式如表2所示。

可以利用VC系统提供的GetPdvateProfileString函数得到动态数据导入所需的各属性数值,非常方便。

但是由于起始时仅是在内存中获得了自定义模板数据中动态填充部分的内容,所以还必须先在客户端生成标准INI格式的临时文件,获取信息后,再把它删除。

3.3通用报表打印组件类层次
无论报表多么复杂,本文所述通用报表静态部分都是基于于单元格的,因此在基类中完成的功能是:根据静态部分的内容画出空表格。

而动态部分可以有多种类型,则对应着多个派生类,完成的功能是:从动态部分描述的内容中获取动态填充的初始化信息,如填充起始位置,SQL语句等,从而完成填充的全过程。

4结束语。

相关文档
最新文档