0

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

4

1 回答 1

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 工作。

于 2013-10-18T12:20:27.713 回答