Member 14760154 Ответов: 2

Могу ли я использовать gembox.spreadsheet и epplus одновременно


У меня проблема с моим проектом ,


Я хочу ,чтобы я загрузил файл и прочитал его ,а затем импортировал и вставил данные в базу данных

Я использую epplus ,но в некоторых случаях epplus не поддерживает файл xlsx,

поэтому я должен преобразовать его в xlsx , я использую interop.excel
это успех, но другая проблема заключается в том ,что серверы еще не устанавливают office,
поэтому я думаю, что должен использовать другой способ ,
я использую gembox.spreadsheet, но он показывает еще одну ошибку,

Я думаю ,что не могу использовать их обоих, gembox и epplus

Что я уже пробовал:

Как я могу решить эту проблему ?

SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");

     var workbook = ExcelFile.Load("E:\\Template.xls");
     workbook.Save("E:\\Convert.xlsx");

2 Ответов

Рейтинг:
1

Maciej Los

Если вы хотите прочитать данные из Excel, а затем вставить их в базу данных, вы должны использовать ADO.NET[^] вместе с поставщик OLEDB[^].

Шаги, которые нужно сделать:
1. Создание Метод oledbconnection[^]
2. Создание Объект oledbcommand[^]
3. Подготовить данные для И oledbdatareader[^] по телефону OleDbCommand.ExeceuteReader
4. Загрузка данных в DataTable[^]

Наконец, откройте соединение с базой данных и скопируйте в нее данные (используя объект datatable, см. Шаг 4).
Если вы используете Sql Server, вы можете использовать: Класс SqlBulkCopy (System.Data.SqlClient) | Microsoft Docs[^]


Рейтинг:
1

Richard Deeming

Даже если на сервере был установлен Office, использование Office Interop в ASP.NET приложение не поддерживается:

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

Я бы предложил использовать NPOI - он бесплатный и поддерживает как XLS, так и XLSX форматы:
GitHub - tonyqus/npoi: библиотека .NET, которая может читать/записывать форматы Office без установленного Microsoft Office. Нет COM+, нет взаимодействия.[^]