如何将excel文件导入sqlserver 2008

发布于 2024-11-09 07:51:27 字数 94 浏览 3 评论 0原文

如何在不使用导入向导的情况下使用 sql 查询将 excel 文件导入到 sqlserver2008 Express Edition 中的新表中

谢谢 普拉迪

How can i import an excel file into a new table in sqlserver2008 express edition using an sql query without using the import wizard

Thanks
Prady

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

北城挽邺 2024-11-16 07:51:27

有一篇微软知识库文章列出了所有可能的方法。

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

我认为使用 OPENROWSET 或 < code>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

There is a microsoft knowledge base article that lays out all the ways this is possible.

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

I think using OPENROWSET or OPENDATASOURCE will be the easiest way, without the wizard. (see Distributed Queries)

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

See OPENROWSET documentation, with examples lower down the page.

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

葬心 2024-11-16 07:51:27

使用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 文件并插入/更新数据。

请按照下面的文章来实现。

在 SQL 存储过程中读取 excel

Use ExcelReaderFactory to read excel

You can use the below code

VB.net Code

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

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

Now use can do bulk import using Bulkcopy class.

or

create xml and send to database

or

Use OPENROWSET to read the excel file in Stored Procedure and insert/update the data.

Please follow the below article to implement it.

Read excel in SQL stored Procedure

爱的那么颓废 2024-11-16 07:51:27

右键单击数据库名称/转到任务,然后选择导入数据

作为源,选择您之前创建的 Excel 文件,然后

在下一页上选择它的路径,选择 sql server 作为目标

right click on the database name/go to task and then select import data

as a source select an excel file that you created before and choose it's path

on the next page select sql server as destination

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文