前言

作为财务分析中的三大报表之一,资产负债表的作用是展示一个企业在特定时间点上的财务状况。今天小编就为大家介绍一下如何使用葡萄城公司的纯前端在线表格控件SpreadJS实现一个资产负债表。

环境准备

SpreadJS在线Excel体验地址:https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html

操作步骤

1)填报

  1. 先将本地excel模板导入至SpreadJS中。

  2. 对于合计类单元格,进行简单公式计算的,并且这里的公式是固定的,并设计好背景颜色。

  3. 如果是直接填报,在对应科目年初/期末数单元格直接编辑数据就好。在实际业务中,数据往往是由此前的业务逻辑汇总而来的,所以小编准备了一个数据源表,便于后续取数。

数据源:

  1. 接下来就是将对应数值填写到科目单元格中了,这里我们可以借助 sumifs 公式。关于sumifs 公式的详细介绍可以点击这里查看。以货币资金为例,如果想获取2021年货币资金科目的金额,可以设置下方公式:

对于填报用户来说,手动选择区域来依次设置公式还是有些繁琐,且如果数据源格式固定,填报用户也无需关注数据区域。所以,可以借助命名信息,进一步将公式简化。

命名信息,即可以给一个单元格、区域、函数,常量,表格定义一个别名,后续可以直接通过这个别名进行引用。

添加的命名信息如下:

公式可以修改为如下(制表年份-1 即为期初数据对应财年)。

对于期末数,公式为:=SUMIFS(金额,科目,B5,年份,2)

科目值输入完毕后,合计部分公式就可以自动计算了:

2)权限控制

资产负债表制作完成后,紧接着就进入审批流程了,在数据流转过程中,为了保证数据的完整性和准确性,往往会对编辑权限做一定的限制。比如,审批人只能审阅,无法修改原始数据。原始数据只能由制表者进行修改。这里我们可以结合SpreadJS 表单保护+单元格锁定 功能,实现上述需求。

对于制表者,可以编辑各科目年初数、期末数单元格,因此将其设置为锁定,并开启表单保护。

如果尝试修改其他单元格,则会弹窗提示:

当然,这里的弹窗文本也是可以自定制的,更灵活地满足不同项目的风格需求。具体方式可参考下方的教程:https://gcdn.grapecity.com.cn/showtopic-162002-1-1.html

在流转至审批阶段时,审批单元格编辑权限打开,其他单元格处于只读状态,所以可以将B42:E42单元格设置为未锁定,其余单元格设置为锁定。

同样开启表单保护,使编辑限制生效。对于原始数据表单,审批者其实是不关注的,所以可以将此sheet进行隐藏。SpreadJS提供了深度隐藏功能,使用户无法从UI界面进行取消,从而保证了数据的安全性。

填报工作完成后,紧接着就是需要做打印、导出pdf等业务。

3)打印和导出pdf

在打印时,可以直接使用设计器自带的打印功能,点击打印按钮即可唤起浏览器的打印窗口。如果需要调整布局、边距等,可以通过页面布局按钮进行相应设置。

同样地,设计器也提供了类Excel的导出pdf功能。

总结

以上就是使用SpreadJS实现一个资产负债表的全过程,如果您想了解更多有关于资产负债表的信息,欢迎点击这里查看。

扩展链接:

【干货放送】财务报表勾稽分析要点,一文读尽!

为什么你的财务报表不出色?推荐你了解这四个设计要点和SpreadJS!

纯前端类 Excel 表格控件在报表勾稽分析领域的应用场景解析

零难度指南:手把手教你如何通过在线Excel实现资产负债表的更多相关文章

  1. Apache Beam实战指南 | 手把手教你玩转KafkaIO与Flink

    https://mp.weixin.qq.com/s?__biz=MzU1NDA4NjU2MA==&mid=2247492538&idx=2&sn=9a2bd9fe2d7fd6 ...

  2. 零投资!零风险!手把手教你挖pi币

    为什么说PI币属于区块链4.0代币呢?我们先从人类社会的生产力生产关系的递进来做一波有利的证明! 原始社会--封建王朝--君主立宪--资本主义--社会主义 原始社会:社会物质财富分配既有弱肉强食也有按 ...

  3. 【Redis技术探索】「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移Redis数据实战指南(在线同步数据)

    从实战出发使用RedisShake进行Redis数据在线+离线模式迁移指南 RedisShake基本介绍 RedisShake是基于redis-port基础上进行改进的是一款开源的Redis迁移工具, ...

  4. Apache Beam实战指南 | 手把手教你玩转大数据存储HdfsIO

    https://mp.weixin.qq.com/s?__biz=MzU1NDA4NjU2MA==&mid=2247494843&idx=2&sn=0dd20caec76e25 ...

  5. 【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移Redis数据实战指南(离线同步数据)

    离线迁移 与在线迁移相比,离线迁移适宜于源实例与目标实例的网络无法连通的场景,或者源端实例部署在其他云厂商Redis服务中,无法实现在线迁移. 存在的问题 由于生产环境的各种原因,我们需要对现有服务器 ...

  6. 手把手教你使用 Java 在线生成 pdf 文档

    一.介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票.订单的库存打印单.各种电子签署合同等等,以方便用户查 ...

  7. 手把手教你从零写一个简单的 VUE

    本系列是一个教程,下面贴下目录~1.手把手教你从零写一个简单的 VUE2.手把手教你从零写一个简单的 VUE--模板篇 今天给大家带来的是实现一个简单的类似 VUE 一样的前端框架,VUE 框架现在应 ...

  8. 手把手教你从零写一个简单的 VUE--模板篇

    教程目录1.手把手教你从零写一个简单的 VUE2.手把手教你从零写一个简单的 VUE--模板篇 Hello,我又回来了,上一次的文章教会了大家如何书写一个简单 VUE,里面实现了VUE 的数据驱动视图 ...

  9. [原创]手把手教你写网络爬虫(7):URL去重

    手把手教你写网络爬虫(7) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 本期我们来聊聊URL去重那些事儿.以前我们曾使用Python的字典来保存抓取过的URL,目的是将重复抓取的UR ...

  10. 自已开发IM有那么难吗?手把手教你自撸一个Andriod版简易IM (有源码)

    本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者. 1.写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间.今天终于从公司离职了, ...

随机推荐

  1. [转帖]Nginx reuseport 导致偶发性卡顿

    https://github.com/jonmeredith/tcpperf https://plantegg.github.io/2023/06/08/Nginx%20reuseport%20%E5 ...

  2. [转帖]03-rsync传输模式(本地传输、远程方式传输、守护进程模式传输)

    https://developer.aliyun.com/article/885801?spm=a2c6h.24874632.expert-profile.282.7c46cfe9h5DxWK 简介: ...

  3. [转帖]15 个必须知道的 chrome 开发工具技巧

    在Web开发者中,Google Chrome是使用最广泛的浏览器.六周一次的发布周期和一套强大的不断扩大开发功能,使其成为了web开发者必备的工具.你可能已经熟悉了它的部分功能,如使用console和 ...

  4. Linux用户以及ssh安全相关设置

    Linux用户相关操作 摘要 最近重保, 需要进行网络安全防护. 部分同事处理过程总是顺序有一些不太对的情况. 同时发现自对Linux用户设置也存在很多不清不楚的地方 所以趁着周末学习和总结一下. 用 ...

  5. 使用rpm打包nacos然后部署为systemd服务开机自动启动的方法

    背景 Nacos是阿里开源的服务注册组件,能够简单的实现微服务的注册与发现机制. 但是官方并没有提供 sytemd的服务脚本, 也没有提供rpm包的方式. 公司里面使用 nacos的场景越来越多, 部 ...

  6. uni-app 实现下拉刷新功能

    我们在运用uni-app开发小程序或h5时,常常需要页面实现下拉刷新功能. 在 js 中定义 onPullDownRefresh 处理函数(和onLoad等生命周期函数同级),监听该页面用户下拉刷新事 ...

  7. LINQ分组排序后获取每组第一条记录

    当前有一张数据表{Student},包含了如下的字段信息: CREATE TABLE [dbo].[Student]( [Sno] [nchar](7) NOT NULL, [Sname] [ncha ...

  8. 每日一道面试题:Java中序列化与反序列化

    写在开头 哈喽大家好,在高铁上码字的感觉是真不爽啊,小桌板又拥挤,旁边的小朋友也比较的吵闹,影响思绪,但这丝毫不影响咱学习的劲头!哈哈哈,在这喧哗的车厢中,思考着这样的一个问题,Java中的对象是如何 ...

  9. 小白学k8s(4)使用k8s发布go应用

    k8s发布go应用 前言 部署 镜像打包 编写yaml文件 使用ingress 什么是ingress呢 ingress与ingress-controller ingress 部署ingress 配置i ...

  10. 小白学k8s(1)二进制部署k8s

    二进制部署k8s 前言 准备工作 关闭防火墙 关闭 swap 分区 关闭 SELinux 更新系统时间 秘钥免密码 设置主机名称 服务器角色 安装etcd 创建证书 生成证书 部署Etcd 在Node ...