如何使Excel单元格内容不可见?

我有一个Excel文件(VSTO),它将与数据上传。 但是我想让一个单元格不可见,因为它包含了一个不应该显示给用户的ID。

我使用Excel.Range.Value2属性来设置值。 现在我想让它里面的价值看不见

我正在使用C#,我如何完成上述。

我曾经在VSTO Excel应用程序上工作过。 在我的项目中,我使用特殊的ID来唯一标识每一列。

所以,我会build议,而不是进入编码,你可以做以下两个行动,使其隐身。 进入你的视觉工作室,打开工作簿的devise模式。 在任何你想要的地方input你想要的列或行的ur id(假设在列C和列5,6)

1.您可以在excel的顶部和左侧看到水平/垂直条,用于调整列n行的大小。只需调整它,以便将该特定列隐藏

在这里输入图像描述

因为你可以看到图像,我调整列隐藏列“C”和行隐藏行5号和6号。

2.现在打开excel(不是从视窗,从Windows资源pipe理器)按Alt + T + P + P,并使用一个合适的密码保护表单,然后完成。

现在,用户不能对列或行进行任何更改,并且date保持不可见。

问候,

Sangram Nandkhile

这将使单元格内容不可见,直到您点击它们,然后您可以更改数据。 这里

Microsoft.Office.Interop.Excel.Range descriptionRange31 = xlApp.get_Range("A18,A25,B18,B25"); descriptionRange31.NumberFormat = ";;;"; 

我不知道如何使它看不见。 但是,您可以将该值复制并保存在内存中的variables中,并将其replace为string.Empty

在插件应用程序对象中声明variables,只要Excel处于打开状态,它就保持活动状态。

如果要在Excel应用程序closures时保留它,请将其写入磁盘或将其保存在Excel工作簿的属性中(在工作簿的“属性”页面中可见的相同位置)。

我不确定你可以让一个单元格的内容“隐形”。 但是,你可以通过以下途径走向这个目标:

  1. 将隐藏的信息放置在单独的工作表中隐藏的列中
  2. 密码保护工作表结构,以防止取消隐藏该隐藏列
  3. 隐藏受保护的工作表
  4. 密码保护工作簿的VBA项目进行编辑

这种方法的安全性不是100%,因为Excel保护不是很难打破。 但是,由于工作表选项卡对用户来说是不可见的(这是因为工作表选项卡对用户不可见)和对VBA工程的编辑保护(即使有人知道隐藏工作表的存在,也不会那么容易地对隐藏表单进行编码方法)和工作表结构的密码保护(因此取消隐藏受保护的列不会很容易)应该防止除了最坚定的窥视者之外的所有人看到你隐藏的内容。

我没有和VSTO合作过,所以我不能为你编码。 该方法是有效的,所有API挂钩实现它可能是可用的。

我不确定这个答案是否符合你的问题级别,但是如果我想进入你的问题描述。 我只是使字体颜色与背景相同,并locking单元格进行编辑(当然,您可以从代码中进行处理,同时写入/更改值),然后locking除明确标记为打开的单元格/区域之外的Excel表格。