Разрешить удаление строк в защищенном листе не работает - Epplus - PullRequest
0 голосов
/ 05 марта 2020

У меня есть программа, которая создает новый рабочий лист в существующем файле электронной таблицы и применяет защиту к этому рабочему листу, чтобы защитить некоторые заголовки и метаданные от изменений, в то же время позволяя редактировать ячейки «данных».

Все ячейки на листе все еще должны иметь возможность форматирования (уже достигнуто). Кроме того, должны быть удалены только строки данных (строка 7 и далее). Был испробован следующий код:

worksheet.Protection.IsProtected = true;

// this works
worksheet.AllowFormatColumns = true;
worksheet.AllowFormatCells = true;

// this doesn't allow any rows to be deleted.
worksheet.AllowDeleteRows = true;
worksheet.AllowDeleteColumns = true;

int row = 7;
while (spreadsheetCellRangeHasData(worksheet.Cells[row,1])
{
    // this is a data row, so unlock it
    // it works, can edit text in cells in row 7 and beyond which have data in them. Still, cannot delete them.
    worksheet.Cells[row,1].Style.Locked = false;

    row++;
}

Код разрешения на удаление был также помещен после while l oop, но безрезультатно. В идеале, это должно позволять удалять только строки, начинающиеся с 7, если первый столбец не нулевой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...