我需要使用OfficeWriter将特定单元格值锁定在Excel文件中。这可能吗?如果是这样,我需要使用哪些API调用?
答案 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工作。