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

时间:2011-03-07 16:18:23

标签: c# excel vsto

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

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

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

5 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

我不知道如何让它隐形。但是,您只需将值复制并保存在内存中的变量中,并将其替换为string.Empty

在插件应用程序对象中声明变量,使其在Excel打开时保持活动状态。

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

答案 2 :(得分:1)

我参与过VSTO Excel应用程序。 在我的项目中,我使用特殊ID来唯一地标识每一列..

因此,我建议您不要进入编码,而是可以执行以下操作以使其不可见。 转到你的visual studio,打开工作簿的设计模式。 无论您想要什么,都可以在列或行中输入ur ID(在C列和第5,6行中假设)

1.你可以在excel的顶部和左侧看到水平/垂直条带,我们用它来调整n行的列数。只需调整它以使特定列隐藏

enter image description here

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

2.现在打开excel(不是来自Visual stodio,来自Windows资源管理器)pres Alt + T + P + P 并使用特定密码保护工作表,您已完成。

现在,用户无法对列或行进行任何更改,并且日期仍然不可见。

此致

Sangram Nandkhile

答案 3 :(得分:0)

我不确定你是否可以让细胞内容“看不见”。但是,您可以通过以下方式大力实现这一目标:

  1. 将隐藏信息放在单独工作表中的隐藏列中
  2. 保护工作表结构以防止取消隐藏该隐藏列的密码
  3. 隐藏受保护的工作表
  4. 保护工作簿的VBA项目免于编辑的密码
  5. 这种方法的安全性不是100%,因为Excel保护不是非常难以打破。但是,默默无闻的组合(因为工作表标签甚至对用户来说都不可见)和VBA项目的编辑保护(所以即使有人知道隐藏的工作表存在,也不会那么容易编码取消隐藏方法)和工作表结构的密码保护(所以取消隐藏受保护的列不容易)应该防止除了最坚定的偷看者以外的所有人看到你隐藏的内容。

    我没有使用过VSTO,所以我无法为您编写代码。该方法虽然有效,但实现它的所有API钩子都可以使用。

答案 4 :(得分:0)

我不确定这个答案是否与您的问题水平相符,但如果我想进入您的问题描述,这就是这个问题。我只是将字体颜色设置为与背景相同并锁定单元格进行编辑(当然,您可以从代码中处理,同时写入/更改值)并锁定excel表格,除了明确标记为已打开的单元格/区域