如何将Excel文件导入到sqlserver 2008中

问题描述

| 如何在不使用导入向导的情况下使用SQL查询将Excel文件导入sqlserver2008 Express Edition中的新表中 谢谢 普拉迪     

解决方法

有一个Microsoft知识库文章,列出了所有可能的方法。 http://support.microsoft.com/kb/321686 我认为使用without0ѭ或
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     ,使用ѭ3读取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\",FileAccess.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
DataSet result = excelReader.AsDataSet();
excelReader.Close();
result.Dispose();
现在使用可以使用Bulkcopy类进行批量导入。 要么 创建xml并发送到数据库 要么 用
OPENROWSET
读取存储过程中的excel文件并插入/更新数据。 请按照以下文章进行实施。 在SQL存储过程中阅读Excel     ,右键单击数据库名称/转到任务,然后选择导入数据 作为源,请选择您之前创建的excel文件并选择其路径 在下一页上,选择sql server作为目标服务器