Как программно импортировать документ Excel в таблицу SQL Azure?C#

Место общения программистов C#
Ответить
Anonymous
 Как программно импортировать документ Excel в таблицу SQL Azure?

Сообщение Anonymous »

Наше веб-приложение ASP.NET позволяет пользователям импортировать данные из Excel. В настоящее время мы размещаемся на наших собственных серверах, поэтому имеем доступ к файловой системе как с веб-сервера, так и с сервера SQL. В настоящее время процесс работает следующим образом:
  • Сохранить загруженный файл во временную папку на сервере.
  • Выполнить T-SQL для чтения загруженного файла непосредственно из файловой системы во временную таблицу SQL через OLEDB.
  • Выполнить T-SQL для чтения данных из временной таблицы и обработки по мере необходимости (например, сравнить с существующими данными и обновить/вставить при необходимости).
Шаг 2 выглядит примерно так:

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

Select * into #MY_TEMP_TABLE
From OpenRowSet(
'Microsoft.ACE.OLEDB.12.0',
'Excel 12.0; Database=PATH_TO_MY_UPLOADED_FILE; HDR=YES',
'Select * From MY_WORKSHEET_NAME%')
Это очень быстро и просто по сравнению, например, с чтением файла в таблицу данных в .NET с помощью EPPlus и последующей вставкой данных построчно.

Мы находимся в процессе подготовки приложения к Azure (веб-сайт Azure и база данных SQL, а не виртуальная машина). Мы можем загрузить файл в хранилище BLOB-объектов и поместить его содержимое в массив байтов, но тогда мы застрянем в подходе к построчной обработке, который является медленным и нестабильным.

Есть ли быстрый способ программной массовой загрузки Excel в SQL в Azure?

Подробнее здесь: https://stackoverflow.com/questions/257 ... -sql-table
Ответить

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

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

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

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

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