前言

作为财务分析中的三大报表之一,资产负债表的作用是展示一个企业在特定时间点上的财务状况。今天小编就为大家介绍一下如何使用葡萄城公司的纯前端在线表格控件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. [转帖]jmap执行失败了,怎么获取heapdump?

    https://www.jianshu.com/p/f4bfd169b4ca   在之前的OOM问题复盘中,我们添加了jmap脚本来自动dump内存现场,方便排查OOM问题. 但当我反复模拟OOM场景 ...

  2. [转帖]02-rsync备份方式

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

  3. 将字符串变成数组split

    字符串变成数组,常用来获取数组中我们需要的值. var str="http://op/adfie/life.png"; let arr=str.split('.'); consol ...

  4. 限制input框中字数的输入maxlength

    今天产品提出一个需求就是.限制input框中的的值. 当用户超过10个字符时,用户再次输入的时,就不能够输入了. (最后就能够输入10个字符) maxlength=10 <input maxle ...

  5. Flask四剑客

    目录 Flask四剑客 Flask四剑客 ''' 响应字符串 响应html页面 跳转页面 返回json字符串 ''' from flask import Flask, render_template, ...

  6. vim 从嫌弃到依赖(20)——global 命令

    在前面的文章中,我们介绍了如何进行查找和替换,而替换是建立在查找基础之上的一个简单的应用,它只是将匹配文本修改为另一个.那么vim中还能针对匹配上的文本做哪些操作呢?在本篇文章中我们来对这个问题进行探 ...

  7. 21.9 Python 使用Selenium库

    Selenium是一个自动化测试框架,主要用于Web应用程序的自动化测试.它可以模拟用户在浏览器中的操作,如打开网页.点击链接.填写表单等,并且可以在代码中实现条件判断.异常处理等功能.Seleniu ...

  8. 3.2 DLL注入:远程APC异步注入

    APC(Asynchronous Procedure Call)异步过程调用是一种Windows操作系统的核心机制,它允许在进程上下文中执行用户定义的函数,而无需创建线程或等待OS执行完成.该机制适用 ...

  9. centos7.9重启网卡提示Failed to start LSB: Bring up/down networking.

    前几天给一台机器状态centos7.9系统,设备有2个网口,今天重启网卡一直失败, 查看network状态,怀疑是eth0网卡有问题 查看eth0的网卡配置,发现是eth0网卡的BOOTPROTO=d ...

  10. SPFA -----队列优化的Bellman-Ford

    SPFA ------队列优化的Bellman-Ford 由Bellman-Ford算法实现带有负权边的单源最短路,时间复杂度是O(VE),也就是边数乘顶点数.但是根据Bellman-Ford的状态转 ...