Как импортировать файл Excel в SQL Server 2008 - PullRequest
4 голосов
/ 25 мая 2011

Как я могу импортировать файл Excel в новую таблицу в sqlserver2008 Express Edition, используя запрос SQL без мастера импорта

Спасибо Пради

Ответы [ 3 ]

6 голосов
/ 25 мая 2011

В статье базы знаний Майкрософт изложены все возможные способы.

http://support.microsoft.com/kb/321686

Я думаю, что использование OPENROWSET или OPENDATASOURCE будет самым простым способом без мастера. (см. Распределенные запросы)

SELECT * INTO XLImport4 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\test\xltest.xls', [Customers$])

См. Документацию OPENROWSET с примерами ниже на странице.

http://msdn.microsoft.com/en-us/library/ms190312.aspx

1 голос
/ 25 мая 2011

Используйте ExcelReaderFactory для чтения Excel

Вы можете использовать следующий код

Код VB.net

Dim stream As FileStream = File.Open("YouExcelFilePath.xls", FileMode.Open, FileAccess.Read)
Dim excelReader As IExcelDataReader = ExcelReaderFactory.CreateBinaryReader(stream)
Dim result As DataSet = excelReader.AsDataSet()
excelReader.Close()
result.Dispose()

Код C #

FileStream stream = File.Open("YouExcelFilePath.xls", FileMode.Open, FileAccess.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
DataSet result = excelReader.AsDataSet();
excelReader.Close();
result.Dispose();

Теперь можно использовать массовый импорт с помощью класса Bulkcopy.

или

создать XML и отправить в базу данных

или

Использовать OPENROWSET для чтенияфайл Excel в хранимой процедуре и вставьте / обновите данные.

Пожалуйста, следуйте приведенной ниже статье, чтобы реализовать его.

Чтение Excel в хранимой процедуре SQL

0 голосов
/ 21 сентября 2012

щелкните правой кнопкой мыши имя базы данных / перейдите к задаче, а затем выберите данные импорта

в качестве источника, выберите файл Excel, который вы создали ранее, и выберите его путь

на следующей странице выберитеСервер SQL в качестве пункта назначения

...