Получить данные из Excel (xlsx) по vb.net - PullRequest
0 голосов
/ 01 июля 2019

Как прочитать файл Excel, защищенный паролем

Что мне нужно, так это прочитать файл Excel, защищенный паролем с помощью OLEDB-соединения. Если у кого-то есть решение для решения этой проблемы, пожалуйста, дайте мне знать ... спасибо

эта работа при отсутствии пароля

conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excel + ";Extended Properties='Excel 12.0;HDR=Yes;'")

1 Ответ

0 голосов
/ 01 июля 2019

Очевидно, что если вы попытаетесь открыть защищенную паролем рабочую книгу Excel из VB.NET, вы получите сообщение об ошибке «Не удалось расшифровать файл».Добавление значения Password= в строку подключения также не будет работать.

Чтобы обойти эту проблему, сначала откройте книгу Excel, используя Microsoft.VisualBasic.Interaction.GetObject(), а затем откройте ее, используя подход соединения / набора записей, который вам нужен.использовать.При открытии GetObject() у пользователя запрашивается пароль, и вы можете открыть файл, используя предпочитаемый вами подход.Например:

' Open the Excel workbook to prompt for the password
Dim xl As Object
xl = GetObject(CurrentProject.Path & "\" & "MASTER JAN 2009.xls")
' Adding your code here should work as the workbook will be opened and so
' you should be able to connect to it.

Конечно, ваш пользователь должен знать пароль.

Это решение взято из Откройте защищенную паролем рабочую книгу Excel .

...