我与 100 人一起工作,并且将他们的详细信息保存在一个 Microsoft Excel 文档中。
每行代表每个用户,其详细信息在一行中。现在我想与用户共享文档,但不希望他们看到文档上其他用户的所有详细信息。我希望他们能够登录到一行并仅查看该行中的详细信息。
答案1
这是不可能的。您要么允许用户访问该文档,要么不允许用户访问。
您要做的是将多张工作表链接到一张主工作表。
您可以将一个工作表中的单元格中的数据链接到另一个工作表中的单元格中。
只需打开 2 张工作表,选择您想要存放数据的单元格,按下=
,然后单击另一张工作表中您想要链接到的单元格,然后按 Enter 键。
它会自动为您创建一个公式,显示另一张表中的内容。
您的用户将在他们各自的工作表中工作,而您使用主工作表来处理他们输入的数据(例如添加总数、平均值等)。
从安全角度来看,对于如何实现这一点,评论中似乎存在一些困惑。
因此进行此编辑。
假设您有一个包含以下两个文件夹的网络共享:
N:\Report\Users\#######
N:\Report\Management
里面######
是每个人的 Excel 文件夹,并且设置了权限,以便管理人员和用户可以访问该文件夹。
管理层只能访问管理文件夹。
在管理文件夹中,创建指向每个用户表的不同单元格的链接。
用户可以编辑他们的工作表或查看它,或者无论您想做什么。
当你打开管理表时,它会询问你是否要刷新数据。所有单元格都会更新并重新计算。
用户只能访问其文件夹中的工作表,因此无法查看其余内容。由于他们无权访问管理文件夹,因此他们也无法访问该数据。
答案2
如果没有特殊的扩展这是不可能的。
但是,您可以创建一个从许多其他电子表格中提取信息的电子表格。这可能相当慢,因此您可能会发现使用 VBA 或脚本语言(例如 Python)并行读取文件并处理访问问题(用户可能打开/锁定文件、数据损坏、网络连接不佳......)。
还请注意,这感觉像是一种糟糕的做法,实际上是一种XY问题。如果您需要存储数据并仅允许对其进行受限访问,请尝试使用网络服务器。托管 Wordpress 或类似服务器可能会帮助您入门!
答案3
我认为 Excel 没有直接执行您想要的操作的功能。
这是我几年前在解决类似问题时所做的事情。我实施的解决方案是一个网页,其中包含由 PHPExcel(现为 PHPSpreadsheet)提供支持的 PHP 脚本。因此
您需要安装一个 Web 服务器(Windows 默认配备 IIS。只需进行配置即可;或者可以轻松安装 Apache 或类似的服务器)。
一个非常简单的网页,带有一个表单,用于请求您的同事提供身份证明并调用 PHP 脚本。
解析输入并通过 PHPSpreadsheet 的 API 访问电子表格并在网页中显示数据的 PHP 脚本。
整个代码(网页 + 调用从电子表格获取数据的 PHP 脚本 + 显示数据的基本逻辑)大约有 120 行。其中几乎一半是我需要实现的特定逻辑,但如果您直接显示数据,则可能几乎没有。