我有一个excel文件(VSTO),它将与数据一起上传。 但是我想让一个单元格不可见,因为它包含一个不应该向用户显示的ID。
我使用Excel.Range.Value2属性来设置值。 现在我想让它里面的值不可见
我正在使用C#,我该如何完成上述工作。
答案 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行的列数。只需调整它以使特定列隐藏
因为你可以看到图像,我将列调整为隐藏列“C”和行以隐藏第5行和第6行。
2.现在打开excel(不是来自Visual stodio,来自Windows资源管理器)pres Alt + T + P + P 并使用特定密码保护工作表,您已完成。
现在,用户无法对列或行进行任何更改,并且日期仍然不可见。
此致
Sangram Nandkhile
答案 3 :(得分:0)
我不确定你是否可以让细胞内容“看不见”。但是,您可以通过以下方式大力实现这一目标:
这种方法的安全性不是100%,因为Excel保护不是非常难以打破。但是,默默无闻的组合(因为工作表标签甚至对用户来说都不可见)和VBA项目的编辑保护(所以即使有人知道隐藏的工作表存在,也不会那么容易编码取消隐藏方法)和工作表结构的密码保护(所以取消隐藏受保护的列不容易)应该防止除了最坚定的偷看者以外的所有人看到你隐藏的内容。
我没有使用过VSTO,所以我无法为您编写代码。该方法虽然有效,但实现它的所有API钩子都可以使用。
答案 4 :(得分:0)
我不确定这个答案是否与您的问题水平相符,但如果我想进入您的问题描述,这就是这个问题。我只是将字体颜色设置为与背景相同并锁定单元格进行编辑(当然,您可以从代码中处理,同时写入/更改值)并锁定excel表格,除了明确标记为已打开的单元格/区域