从 xls (Excel) 文件创建 SQL 表
Posted
技术标签:
【中文标题】从 xls (Excel) 文件创建 SQL 表【英文标题】:Creating a SQL table from a xls (Excel) file 【发布时间】:2010-09-25 05:22:45 【问题描述】:我正在尝试将 Excel 文档转换为 SQL 2005 中的表格。我找到了下面的链接,想知道它是否看起来像一个解决方案。如果是这样,@excel_full_file_name 语法是什么,路径相对于哪里?
http://www.siccolo.com/Articles/SQLScripts/how-to-create-sql-to-convert-Excel_to_table.html
【问题讨论】:
【参考方案1】:This example 将数据从 SQL 复制到 Excel。 但这只是交换 OleDb 提供程序以使其朝相反方向工作的问题。
【讨论】:
【参考方案2】:如果您只需要纯 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 路由将比这些方法更有优势。
【讨论】:
【参考方案3】:我建议使用 SSIS/DTS 包进行转换。这要容易得多。
SSIS Excel example
** 请注意,此示例使用的是向导。您可以将 SSIS/DTS 包安排为要在 SQL 框上运行的作业。
【讨论】:
【参考方案4】:浏览代码,我希望它是 excel 文档的完整路径名:
例如:c:\path\to\my\excel\document.xls
虽然我没有安装或运行该程序,所以我可能是错的 - 但乍一看似乎就是这样。
【讨论】:
以上是关于从 xls (Excel) 文件创建 SQL 表的主要内容,如果未能解决你的问题,请参考以下文章