news 2026/9/24 16:52:24

17、电子表格应用程序详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
17、电子表格应用程序详解

电子表格应用程序详解

1. 电子表格的类结构

电子表格应用程序主要由Cell、CellMatrix和TSetMatrix这几个类来表示。
-Cell类:处理单个单元格,每个单元格可以包含表示数值、公式或(可能为空的)纯文本的信息。单元格的值可能会影响其他单元格的值,并且每个单元格都有一个源集(依赖的单元格集合)和一个目标集(依赖于该单元格值的单元格集合)。
-CellMatrix类:处理整个电子表格。
-TSetMatrix类:处理所有单元格的目标集。

为什么有目标集矩阵而没有源集矩阵呢?原因是单元格自身决定其源集,只有公式才有源集,文本和值没有源集,且源集是公式中所有引用的并集。而目标集更复杂,单元格自身不能决定其目标集,它是由其他单元格的公式间接设置的。将目标集从单元格中分离出来并存储在单独的目标集矩阵中可以简化问题,特别是在进行剪切和粘贴操作时。

从数学角度看,单元格及其集合构成一个有向图。当用户输入公式时,需要检查公式是否会产生循环引用,这意味着该图必须是无环的。例如,在某个电子表格中,c2的源集包含b1和a2,因为c2的公式包含b1和b2;b3的源集包含a2

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 16:10:27

18、电子表格应用程序详解

电子表格应用程序详解 1. 单元格矩阵(Cell Matrix) 电子表格的单元格以矩阵形式组织,矩阵大小由常量 ROWS 和 COLS 决定。 m_buffer 是一个二维数组,用于存储单元格。 const int ROWS = 10; const int COLS = 5; class CellMatrix {public:CellMatrix();CellMatr…

作者头像 李华
网站建设 2026/9/25 9:45:37

CircuitJS1 Desktop Mod终极指南:掌握离线电路仿真的艺术

CircuitJS1 Desktop Mod终极指南:掌握离线电路仿真的艺术 【免费下载链接】circuitjs1 Standalone (offline) version of the Circuit Simulator based on NW.js. 项目地址: https://gitcode.com/gh_mirrors/circ/circuitjs1 你是否曾经在旅途中急需验证一个…

作者头像 李华
网站建设 2026/9/23 22:29:10

Scanner类输入验证:判断hasNextInt()的正确使用方式

Scanner输入验证的艺术:避开陷阱,写出真正健壮的Java用户交互你有没有遇到过这样的场景?程序刚运行,用户还没输完数据,就“啪”地一声抛出一个InputMismatchException,然后直接崩溃重启。或者更诡异的是——…

作者头像 李华
网站建设 2026/9/24 20:23:12

Proteus元器件大全操作指南:如何添加自定义元件

如何在Proteus中打造自己的元器件:从零开始构建可仿真的自定义元件你有没有遇到过这样的情况?正在用Proteus画一个基于国产STM32替代芯片的电路,兴冲冲打开“Pick Devices”搜索型号,结果——没找到。或者想仿真一款带I2C接口的新…

作者头像 李华
网站建设 2026/9/24 20:26:13

30、数据中心虚拟化与管理的全面指南

数据中心虚拟化与管理的全面指南 在当今数字化的时代,数据中心的高效管理和资源优化变得至关重要。本文将深入探讨数据中心虚拟化的多种技术,包括桌面虚拟化、服务器虚拟化、云服务的应用,以及如何应对备份、灾难恢复和高可用性需求,同时介绍了管理基础设施的优化方法。 …

作者头像 李华