财务报表也称对外会计报表,是会计主体对外提供的反映企业或预算单位一定时期资金、利润状况的会计报表,由资产负债表、损益表、现金流量表或财务状况变动表、附表和附注构成 。财务报表是财务报告的主要部分,不包括董事报告、管理分析及财务情况说明书等列入财务报告或年度报告的资料 。
为了全面系统地揭示企业一定时期的财务状况、经营成果和现金流量,财务报表需按财政部会计准则的标准格式设计,因此,财务报表的典型特征是数据更新频繁、分析维度多、数据来源复杂,常规的报表工具很难同时满足上述所有需求 。而借助控件设计财务报表模板,可以在满足财务数据展示、计算、决策分析的同时,提供如 Excel 一般的使用体验,并可直接复用财务系统原始的 Excel 报表模板,减少从本地到线上的数据迁移工作量 。
下面将会给大家展示如何在纯前端环境中,利用纯前端表格控件创建损益表,并将其添加到你的Web项目中 。本文将使用 PivotTables(数据透视表)和 PivotTables Slicer(数据透视表切片器)来创建动态的损益表报告并与之交互 。最终效果如图:
![基于纯前端类Excel表格控件实现在线损益表应用](http://shimg.jingyanzongjie.com/230725/215524Fc-0.png)
文章插图
创建损益表大致步骤如下,文中针对每一步操作,都提供了可视化交互和编码两种实现方式:
- 设置数据
- 插入数据透视表
- 构建数据透视表
- 添加计算项
- 添加计算字段
- 添加切片器
- 进行一些外观调整
- 生成报告
设置数据我们需要做的第一件事就是确保原始数据采用表格格式 。这表示数据符合以下条件:
- 把原始数据整理成标准的表格;
- 每个列代表一个字段;
- 没有空白行或列;
- 数据中没有小计、总计这类二次计算的内容 。
![基于纯前端类Excel表格控件实现在线损益表应用](http://shimg.jingyanzongjie.com/230725/2155241G4-1.png)
文章插图
插入数据透视表使用设计器组件可以实现可视化操作,下载完成后,从“\SpreadJS.Release.x.x.x\Designer\Designer Runtime”文件夹安装设计器,然后按照以下步骤插入数据透视表:
- 选择 tblIncome 表
- 在插入选项卡上单击数据透视表
- 选择“新工作表”
- 最后确定
![基于纯前端类Excel表格控件实现在线损益表应用](http://shimg.jingyanzongjie.com/230725/2155243406-2.png)
文章插图
或者,以上操作也可以通过编写javascript代码实现,参考以下代码:
let pivotTable = sheet.pivotTables.add("myPivotTable", "tblIncome", 1, 1);
构建数据透视表为了准确构建数据透视表,我们将使用数据透视表面板 。如果这里使用的是SpreadJS设计器,则每次单击数据透视表时,面板都会显示在工作表的右侧 。使用以下代码将其添加到 javascript 实例中:
var pt = spread.getActiveSheet().pivotTables.all()[0];var panel = new GC.Spread.Pivot.PivotPanel('myPivotPanel', pt, document.getElementById("panel"));panel.sectionVisibility(GC.Spread.Pivot.PivotPanelSection.fields |GC.Spread.Pivot.PivotPanelSection.area);
【基于纯前端类Excel表格控件实现在线损益表应用】现在拖放右侧区域的字段以构建数据透视表 。在我们的示例中:将 Account Group 和 Account 字段添加到 Rows,并将 Actual 和 Budget 添加到 Values 。![基于纯前端类Excel表格控件实现在线损益表应用](https://m.360buyimg.com/jdcms/jfs/t1/183455/10/29429/582752/63493488E73bd2149/e6b4255fcf7b80d0.gif)
文章插图
注意:数据透视表可以在没有数据透视面板的情况下工作,我们只是添加了它以方便使用 。
经验总结扩展阅读
- 怎么样发朋友圈只发文字(怎样发纯文字的朋友圈)
- 纯大米粉能做什么吃的
- 知识图谱实体对齐2:基于GNN嵌入的方法
- 家用自来水是纯净水吗
- 纯碱是危险品吗
- 纯净水不导电是真的吗?
- 纯酸奶太难吃了怎么弄
- 15 基于SqlSugar的开发框架循序渐进介绍-- 整合代码生成工具进行前端界面的生成
- Java一次返回中国所有省市区三级树形级联+前端vue展示【200ms内】
- 纯牛奶跟鲜牛奶有什么区别