使用officewriter可以在excel中进行单元格锁定吗?

时间:2013-10-08 04:48:14

标签: officewriter

我需要使用OfficeWriter将特定单元格值锁定在Excel文件中。这可能吗?如果是这样,我需要使用哪些API调用?

1 个答案:

答案 0 :(得分:3)

使用OfficeWriter锁定单元格与Excel中的相同:所有单元格都具有“锁定”属性作为其样式的一部分。默认情况下,locked属性设置为 true ,但在工作表受到保护之前不会生效。

ExcelApplication xla = new ExcelApplication();
Workbook wb = xla.Create(ExcelApplication.FileFormat.Xlsx);
Worksheet ws = wb.Worksheets[0];

//Protecting the sheet will lock any cells 
//that have the locked property set to true
ws.Protect("MyPassword");

要将某些单元格保持解锁状态,请创建一个样式,其中locked属性设置为 false 。然后将样式应用于您希望解锁的单元格。

ExcelApplication xla = new ExcelApplication();
Workbook wb = xla.Create(ExcelApplication.FileFormat.Xlsx);
Worksheet ws = wb.Worksheets[0];

//Create the 'unlocked' style
Style unlockedStyle = wb.CreateStyle();
unlockedStyle.CellLocked = false;

//Apply to any cells you wish to leave unlocked
//when the worksheet is protected
ws.Cells["A1"].Style = unlockedStyle;
ws.Cells["B1"].Style = unlockedStyle;


//Protecting the sheet will lock any cells 
//that have the locked property set to true
ws.Protect("MyPassword");

我们在文档中提供了有关保护工作表的其他相关信息:http://wiki.softartisans.com/display/EW8/Protecting+Your+Worksheet

请注意,我为OfficeWriter的制造商SoftArtisans工作。