从xls(Excel)文件创建SQL表

时间:2008-12-03 21:28:46

标签: sql excel sql-server-2005 database-table

我正在尝试将Excel文档转换为SQL 2005中的表。我找到了下面的链接,我想知道它是否看起来像一个解决方案。如果是这样,@ excel_full_file_name语法是什么以及路径相对于何处?

http://www.siccolo.com/Articles/SQLScripts/how-to-create-sql-to-convert-Excel_to_table.html

4 个答案:

答案 0 :(得分:6)

如果您只想要纯SQL解决方案,可以使用BULK INSERT T-SQL命令。您必须先将文件另存为csv / text。

BULK 
INSERT YourDestinationTable
        FROM 'D:\YourFile.csv'
            WITH
    (
                FIELDTERMINATOR = ',',
                ROWTERMINATOR = '\n'
    )
GO

或者,您可以尝试OPENROWEST - 再次使用纯T-SQL解决方案。

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;DATABASE=D:\YourExcelFile.xls', 'Select * from YourExcelFile') 

这实际上取决于您想要多少控制和灵活性,SSIS路线将比这些方法更有优势。

答案 1 :(得分:2)

浏览代码,我希望它是excel文档的完整路径名:

例如:c:\ path \ to \ my \ excel \ document.xls

我没有安装过程或运行它,所以我可能错了 - 但这似乎是乍看之下。

答案 2 :(得分:1)

我建议使用SSIS / DTS包进行转换。这更容易。

SSIS Excel example

**请注意,此示例正在使用向导。您可以在SQL框上安排SSIS / DTS包作为要运行的作业。

答案 3 :(得分:0)

This example将数据从SQL复制到Excel。 但这只是交换OleDb提供商以使其在相反方向上工作的问题。