5

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

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

4

4 回答 4

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 路由将比这些方法更有优势。

于 2008-12-05T09:51:45.100 回答
2

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

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

虽然我还没有安装或运行它,所以我可能是错的 - 但乍一看似乎就是这样。

于 2008-12-03T21:31:24.237 回答
1

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

SSIS Excel 示例

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

于 2008-12-04T03:49:56.420 回答
0

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

于 2009-03-09T04:25:17.593 回答