Открытие защищенной книги с помощью электронных таблицC#

Место общения программистов C#
Ответить
Anonymous
 Открытие защищенной книги с помощью электронных таблиц

Сообщение Anonymous »

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

Я нашел два варианта, которые, как мне кажется, могут помочь. В Spreadsheetgear есть метод Unprotect (строковый пароль), но на данный момент я не могу заставить его работать. Я предлагаю пользователю выбрать книгу в своей локальной системе и загрузить ее на сервер. Когда я пытаюсь открыть и прочитать файл, страница прерывается и выдает исключение


Поврежденный документ OpenXML.


На данный момент я открываю незащищенные книги вот так

Код: Выделить всё

byte[] file = Session["FileUpload"] as byte[];
using (MemoryStream fileStream = new MemoryStream(file))
{
IWorkbook workbook = Factory.GetWorkbookSet().Workbooks.OpenFromStream(fileStream);
.....
}
Это отлично работает в незащищенной книге, но когда она защищена, я получаю сообщение об ошибке поврежденного документа. В идеале я хотел бы снять защиту и открыть одновременно, но я не знаю, как это сделать.

Код: Выделить всё

OpenFromStream
имеет перегрузку, в которой вы можете передать ему строку в качестве пароля, что я пробовал, но безуспешно. Документация по этим методам не очень хороша, поэтому я не уверен, правильно ли я их использовал.

Подробнее здесь: https://stackoverflow.com/questions/321 ... dsheetgear
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»