使用C#保护excel中的列

时间:2013-05-13 08:46:06

标签: c# vb.net excel excel-automation

我试图在excel表中写入一些数据,在写完必要的数据后,我想通过使单元格不可编辑来保护单元格免受编辑。在此操作之后,工作表用户将在未受保护的单元格上更新一些数据,然后我将使用这些数据并从中读取以执行某些处理活动。

  1. 有人可以帮我解决这个问题吗?如何在excel中锁定列进行编辑?
  2. 如何使用C#写入受保护的列?
  3. 您如何阅读受保护列中的C#?
  4. 对示例的简单引用将极大地帮助我。 PS:如果你对VB.NET更熟悉,那么如何在这方面做参考会很有帮助。

1 个答案:

答案 0 :(得分:1)

要使Excel单元格处于不可编辑模式,必须注意两件事:

1)Excel单元格应该被锁定

  

ws.get_Range(“Location”,Type.Missing).Locked = true;

2)Excel工作表也应该被锁定

ws.Protect("SecurityCode", true, true, true,
            Type.Missing, Type.Missing, true, true, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing);
//where ws is the worksheet object

对于阅读受保护单元格的第二个问题,可以直接进行

string CellValue = ws.get_Range("Location", Type.Missing).Value2.ToString();
//Now depending upon the CellValue you can write your own Logic.