Открытие защищенного паролем файла .xls

#epplus

#epplus

Вопрос:

Могу ли я использовать EPPlus для открытия защищенных паролем файлов .xls?

Мой текущий метод работает только для файлов .xlsx

     Dim oFileInfo As New FileInfo("C:Temptest.xlsx")
    Dim oPackage As New ExcelPackage(oFileInfo, "test")

    For Each oSheet As ExcelWorksheet In oPackage.Workbook.Worksheets
        If oSheet.Name = "Alles" Then
            Debug.Print(oSheet.Cells("A1").Value)
            Exit For
        End If
    Next
 

Ответ №1:

EPPlus может только открывать .xlsx файлы; он не может открывать .xls файлы.

Чтобы открывать .xls файлы, вы должны автоматизировать Excel.

Примечание: Вы не должны автоматизировать Excel из службы (или любого неинтерактивного пользователя); так как Excel может самопроизвольно заблокироваться, если появится диалоговое окно и нет пользователя, чтобы щелкнуть его.

Корпорация Майкрософт особо предостерегает от попыток автоматизации приложений Office из неинтерактивного сеанса (например, служб, веб-серверов, запланированных задач).

Рекомендации по автоматизации Office на стороне сервера 🕗

Все текущие версии Microsoft Office были разработаны, протестированы и настроены для запуска в качестве продуктов конечного пользователя на клиентской рабочей станции. Они предполагают интерактивный рабочий стол и профиль пользователя. Они не обеспечивают уровень повторного входа или безопасности, который необходим для удовлетворения потребностей серверных компонентов, предназначенных для запуска без присмотра.

В настоящее время корпорация Майкрософт не рекомендует и не поддерживает автоматизацию приложений Microsoft Office из любого автоматического неинтерактивного клиентского приложения или компонента (включая ASP, ASP.NET , Службы DCOM и NT), поскольку Office может демонстрировать нестабильное поведение и / или взаимоблокировку при запуске Office в этой среде.

Ответ №2:

The NPOI.dll библиотека может взаимодействовать как с файлами .xls, так и с файлами .xlsx, и вы будете программировать с ней аналогично EPPlus. (работал в крупной компании, которая использовала его в веб-приложении для извлечения данных из загруженных файлов .xls, а также .xlsx)

Я не знаю, насколько это актуально с .Net Core и т.д.

Это порт для .Сеть библиотеки Java POI.