.NET读写Excel工具Spire.Xls使用 Excel文件的控制(2)(2)

  注意,由于我没有安装Office 2007及以上版本,用WPS显示的时候,有点问题,要用WPS转换为2003版本后才能看出来,这可能是WPS的原因,调试生成的文件发现,这些属性值都是存在的。所以我也没去折腾,安装个Office 真的很麻烦。

3.C#加密和保护Excel文件

  相信很多人都用过Office的加密以及保护功能,对于Excel来说,加密和保护的范围更加广泛了:不仅可以加密文件,还可以保护指定的Sheet,指定的单元格等等。

3.1 加密Excel文件

  Excel文件级的加密其实很简单,就是Workbook对象的Protect方法,传递加密密码即可;如果想要取消密码,则使用workbook.UnProtect(),注意取消加密是不需要密码的,Excel软件操作也是的,所以程序操作也不需要。

#region 3.加密Excel文件例子 static void ExcelTest3() { Workbook workbook = new Workbook(); workbook.Protect("pwd111");//设置保护加密的 密码 :pwd111 //将Excel文件保存 workbook.SaveToFile("Sample.xls", ExcelVersion.Version2007); } #endregion

加密后打开文件就是这个样子了:

.NET读写Excel工具Spire.Xls使用 Excel文件的控制(2)

3.2 保护Sheet与单元格

  Sheet的保护更加灵活一点,使用的是Worksheet对象的Protect方法,传递的参数是 保护的密码,以及可选的保护类型(更加丰富的保护类型),看看下面的例子:

Workbook workbook = new Workbook(); Worksheet sheet = workbook.Worksheets[0]; //保护sheet sheet.Protect("test", SheetProtectionType.All); //将Excel文件保存 workbook.SaveToFile("Sample.xlsx", ExcelVersion.Version2010);

实现的效果应该和WPS的“保护工作表”界面类似,如下图:

.NET读写Excel工具Spire.Xls使用 Excel文件的控制(2)

保护工作表的作用一般是防止误操作或者对于有版权保护的,不能轻易更改的情况。大家看情况使用,我这里很少用到,只是了解到了,顺便说一下。

static void ExcelTest4() { Workbook workbook = new Workbook(); workbook.CreateEmptySheets(1); Worksheet sheet = workbook.Worksheets[0]; sheet.Range["A1"].Text = "锁定"; sheet.Range["B1"].Text = "未锁定"; sheet.Range["A1"].Style.Locked = true; sheet.Range["B1"].Style.Locked = false; //一定要对工作表进行保护,才能生效 sheet.Protect("test", SheetProtectionType.All); workbook.SaveToFile(@"Sample_Lock.xlsx", ExcelVersion.Version2010); }

  今天就到此为止把,虽然都很简单,但了解一下,对以后熟练开发还是有好处的。例子非常简单,代码都在上面,到本系列完成后,再打包一份代码。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdpysd.html