EPPlus не может прочитать значение заблокированных ячеек

Я использую EPPlus для чтения данных из файла .XLSX.

проблема в том, что он не может читать заблокированные ячейки. Поэтому мне нужно открыть Excel, разблокировать ячейки, а затем загрузить. Есть ли способ прочитать ячейки блокировки. Я пробовал, как показано ниже:

 For row As Integer = workSheet.Dimension.Start.Row + 1 To workSheet.Dimension.[End].Row
            workSheet.Cells(row, vLocation).Style.Locked = False
            Dim strLocation = Convert.ToString(workSheet.Cells(row, vLocation).Value)

 Next

Даже я пробовал следующий код, чтобы разблокировать рабочий лист с помощью EPPlus

    Try
        workSheet.Protection.IsProtected = False
        workSheet.Cells("A1:Z200").Style.Locked = False
    Catch ex As Exception
    End Try

Но это не работает. Если я разблокирую ячейки вручную и загружаю файл, он работает.

введите здесь описание изображения

в противном случае следующая строка ничего не возвращает

Dim strLocation = Convert.ToString(workSheet.Cells(row, vLocation).Value)

person user2739418    schedule 09.06.2016    source источник
comment
Я предполагаю, что на листе включена защита (в противном случае блокировка ячейки не должна иметь никакого эффекта). Защищена ли блокировка листа паролем? В любом случае у меня все работает нормально. Может быть, опубликуйте больше своего кода или опубликуйте файл где-нибудь.   -  person Ernie S    schedule 09.06.2016


Ответы (1)


Пожалуйста, попробуйте это.

 Dim fileInfo = new FileInfo(filePath);
    using (var package = new ExcelPackage(fileInfo))
    {
       Dim ws = package.Workbook.Worksheets.FirstOrDefault();
       Dim value = ws.Cells[Row, Col].Value;
    }
person Nitin Chotaliya    schedule 09.06.2016