C # не может читать из файла Excel только для чтения - PullRequest
0 голосов
/ 07 марта 2019

У меня на компьютере есть папка с несколькими электронными таблицами Excel, которые помечены как доступные только для чтения.Папка синхронизируется с Sharepoint моей компании через OneDrive.

Когда я пытаюсь программно прочитать данные с одного из этих листов с помощью Microsoft.Office.Interop.Excel, я получаю ошибку You cannot use this command on a protected sheet.

Вот код, который я использую для открытия файла:

public ExcelReader(String filePath)
{
        this.filePath = filePath;
        FileName = filePath.Substring(filePath.LastIndexOf("\\")+1);
        app = new Excel.Application();
        app.DisplayAlerts = false;
        workbook = app.Workbooks.Open(filePath, false, true); //open in read only
}

public void openSheet(String sheet)
{
        SheetName = sheet;
        worksheet = workbook.Sheets[sheet];
        Excel.Range last = worksheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
        ColumnsTotal = last.Column;
        RowsTotal = last.Row;
}

Строка, которая выдает исключение, Excel.Range last = worksheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);.

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

Что я здесь не так делаю?Как мне прочитать содержимое этих файлов, не снимая их (я не могу этого сделать по соображениям безопасности)?

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