#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.